using ComputerStoreContracts.BindingModels;
using ComputerStoreContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ComputerStoreContracts.BusinessLogicContracts;

public interface IComponentBusinessLogicContract
{
    List<ComponentViewModel>? ReadList(ComponentBindingModel? model);
    ComponentViewModel? ReadElement(ComponentBindingModel model);
    void Create(ComponentBindingModel model);
    void Update(ComponentBindingModel model);
    void Delete(ComponentBindingModel model);
    List<ComponentRequestAssemblyReportViewModel>? GetComponentsReport(DateTime startDate, DateTime endDate, int userId);
}