using CarServiceContracts.BindingModels; using CarServiceContracts.BusinessLogicsContracts; using CarServiceContracts.StorageContracts; using CarServiceContracts.ViewModels; using Microsoft.Extensions.Logging; namespace CarServiceBusinessLogic.BusinessLogics { public class ReportLogic : IReportLogic { private readonly ILogger _logger; private readonly IWorkStorage _workStorage; private readonly IWorkPaymentStorage _workPaymentStorage; public ReportLogic(ILogger logger, IWorkStorage workStorage, IWorkPaymentStorage workPaymentStorage) { _logger = logger; _workStorage = workStorage; _workPaymentStorage = workPaymentStorage; } public List GetRequestsByWorks(ReportBindingModel model) { _logger.LogInformation("Reading requests by works"); return _workStorage.GetWorksWithRequest(new() { SelectedWorksIds = model.SelectedWorks }); } public List GetPayments(ReportBindingModel model) { _logger.LogInformation("Reading payments by works in requests"); return _workPaymentStorage.GetPaymentsByWorks(new() {DateFrom = model.DateFrom, DateTo = model.DateTo }); } public void SaveComponentsToWordFile(ReportBindingModel model) { throw new NotImplementedException(); } public void SaveManufactureComponentToExcelFile(ReportBindingModel model) { throw new NotImplementedException(); } public void SaveOrdersToPdfFile(ReportBindingModel model) { throw new NotImplementedException(); } } }