2023-04-07 19:57:21 +04:00
|
|
|
|
using CarServiceContracts.BindingModels;
|
|
|
|
|
using CarServiceContracts.BusinessLogicsContracts;
|
|
|
|
|
using CarServiceContracts.StorageContracts;
|
|
|
|
|
using CarServiceContracts.ViewModels;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
|
|
|
|
|
namespace CarServiceBusinessLogic.BusinessLogics
|
|
|
|
|
{
|
|
|
|
|
public class ReportLogic : IReportLogic
|
|
|
|
|
{
|
2023-04-08 14:02:29 +04:00
|
|
|
|
private readonly ILogger _logger;
|
2023-04-07 19:57:21 +04:00
|
|
|
|
private readonly IWorkStorage _workStorage;
|
2023-04-08 14:01:54 +04:00
|
|
|
|
private readonly IWorkPaymentStorage _workPaymentStorage;
|
2023-04-08 14:02:29 +04:00
|
|
|
|
public ReportLogic(ILogger logger, IWorkStorage workStorage, IWorkPaymentStorage workPaymentStorage)
|
2023-04-07 19:57:21 +04:00
|
|
|
|
{
|
2023-04-08 14:02:29 +04:00
|
|
|
|
_logger = logger;
|
2023-04-07 19:57:21 +04:00
|
|
|
|
_workStorage = workStorage;
|
2023-04-08 14:01:54 +04:00
|
|
|
|
_workPaymentStorage = workPaymentStorage;
|
2023-04-07 19:57:21 +04:00
|
|
|
|
}
|
|
|
|
|
public List<ReportWorkWithRequestsViewModel> GetRequestsByWorks(ReportBindingModel model)
|
|
|
|
|
{
|
2023-04-08 14:02:29 +04:00
|
|
|
|
_logger.LogInformation("Reading requests by works");
|
2023-04-07 19:57:21 +04:00
|
|
|
|
return _workStorage.GetWorksWithRequest(new() { SelectedWorksIds = model.SelectedWorks });
|
|
|
|
|
}
|
2023-04-08 14:01:54 +04:00
|
|
|
|
public List<ReportWorksWithPaymentsViewModel> GetPayments(ReportBindingModel model)
|
|
|
|
|
{
|
2023-04-08 14:02:29 +04:00
|
|
|
|
_logger.LogInformation("Reading payments by works in requests");
|
2023-05-22 22:44:51 +04:00
|
|
|
|
return _workPaymentStorage.GetPaymentsByWorks(new() { DateFrom = model.DateFrom, DateTo = model.DateTo });
|
2023-04-08 14:01:54 +04:00
|
|
|
|
}
|
2023-04-07 19:57:21 +04:00
|
|
|
|
public void SaveComponentsToWordFile(ReportBindingModel model)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
public void SaveManufactureComponentToExcelFile(ReportBindingModel model)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
public void SaveOrdersToPdfFile(ReportBindingModel model)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|