Reports logic.
This commit is contained in:
parent
9bd7b98042
commit
6e2912f1c4
@ -1,9 +1,12 @@
|
|||||||
using ComputerStoreContracts.BindingModels;
|
using ComputerStoreBusinessLogic.OfficePackage;
|
||||||
|
using ComputerStoreBusinessLogic.OfficePackage.HelperModels;
|
||||||
|
using ComputerStoreContracts.BindingModels;
|
||||||
using ComputerStoreContracts.BusinessLogicContracts;
|
using ComputerStoreContracts.BusinessLogicContracts;
|
||||||
using ComputerStoreContracts.SearchModels;
|
using ComputerStoreContracts.SearchModels;
|
||||||
using ComputerStoreContracts.StorageContracts;
|
using ComputerStoreContracts.StorageContracts;
|
||||||
using ComputerStoreContracts.ViewModels;
|
using ComputerStoreContracts.ViewModels;
|
||||||
using ComputerStoreDataModels.Models;
|
using ComputerStoreDataModels.Models;
|
||||||
|
using MigraDoc.DocumentObjectModel.Fields;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -19,14 +22,18 @@ namespace ComputerStoreBusinessLogic.BusinessLogic
|
|||||||
private readonly IPCStorage _pcStorage;
|
private readonly IPCStorage _pcStorage;
|
||||||
private readonly IProductStorage _productStorage;
|
private readonly IProductStorage _productStorage;
|
||||||
private readonly IConsignmentStorage _consignmentStorage;
|
private readonly IConsignmentStorage _consignmentStorage;
|
||||||
private readonly IOrderStorage _orderStorage;
|
private readonly AbstractSaveToExcel _saveToExcel;
|
||||||
|
private readonly AbstractSaveToPDF _saveToPDF;
|
||||||
public EmployeeReportLogic(IPCStorage pcStorage, IProductStorage productStorage, IConsignmentStorage consignmentStorage, IOrderStorage orderStorage)
|
private readonly AbstractSaveToWord _saveToWord;
|
||||||
|
|
||||||
|
public EmployeeReportLogic(IPCStorage pcStorage, IProductStorage productStorage, IConsignmentStorage consignmentStorage, AbstractSaveToPDF saveToPDF, AbstractSaveToWord saveToWord, AbstractSaveToExcel saveToExcel)
|
||||||
{
|
{
|
||||||
_pcStorage = pcStorage;
|
_pcStorage = pcStorage;
|
||||||
_productStorage = productStorage;
|
_productStorage = productStorage;
|
||||||
_consignmentStorage = consignmentStorage;
|
_consignmentStorage = consignmentStorage;
|
||||||
_orderStorage = orderStorage;
|
_saveToPDF = saveToPDF;
|
||||||
|
_saveToWord = saveToWord;
|
||||||
|
_saveToExcel = saveToExcel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ReportPCByDateViewModel> GetPCsByDate(ReportDateBindingModel model)
|
public List<ReportPCByDateViewModel> GetPCsByDate(ReportDateBindingModel model)
|
||||||
@ -125,16 +132,38 @@ namespace ComputerStoreBusinessLogic.BusinessLogic
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SaveProductsToPdfFile(ReportDateBindingModel model)
|
|
||||||
|
public void SavePCsAndProductsToPdfFile(ReportDateBindingModel model)
|
||||||
{
|
{
|
||||||
//will be implemented in the future!
|
_saveToPDF.CreateDoc(new PDFInfo
|
||||||
|
{
|
||||||
|
FileName = model.FileName,
|
||||||
|
Title = "Products 'n orders list",
|
||||||
|
DateFrom = model.DateFrom!.Value,
|
||||||
|
DateTo = model.DateTo!.Value,
|
||||||
|
Products = GetProductsByDate(model),
|
||||||
|
PCs = GetPCsByDate(model)
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SavePCsToPdfFile(ReportDateBindingModel model)
|
public void SaveConsignmentsToExcelFile(ReportComponentsBindingModel model)
|
||||||
{
|
{
|
||||||
//will be implemented in the future!
|
_saveToExcel.CreateReport(new ExcelInfo
|
||||||
|
{
|
||||||
|
FileName = model.FileName,
|
||||||
|
Title = "Consignments list",
|
||||||
|
ConsignmentProducts = GetConsignmentsByComponents(model)
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SaveConsignmentsToWordFile(ReportComponentsBindingModel model)
|
||||||
|
{
|
||||||
|
_saveToWord.CreateDoc(new WordInfo
|
||||||
|
{
|
||||||
|
FileName = model.FileName,
|
||||||
|
Title = "Consignments list",
|
||||||
|
Consignments = GetConsignmentsByComponents(model)
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,6 @@ namespace ComputerStoreBusinessLogic.OfficePackage.HelperModels
|
|||||||
get;
|
get;
|
||||||
set;
|
set;
|
||||||
} = new();
|
} = new();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,6 @@ namespace ComputerStoreBusinessLogic.OfficePackage.HelperModels
|
|||||||
{
|
{
|
||||||
public string FileName { get; set; } = string.Empty;
|
public string FileName { get; set; } = string.Empty;
|
||||||
public string Title { get; set; } = string.Empty;
|
public string Title { get; set; } = string.Empty;
|
||||||
public List<ConsignmentViewModel> Consignments { get; set; } = new();
|
public List<ReportConsignmentsViewModel> Consignments { get; set; } = new();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,8 @@ namespace ComputerStoreContracts.BusinessLogicContracts
|
|||||||
List<ReportPCByDateViewModel> GetPCsByDate(ReportDateBindingModel model);
|
List<ReportPCByDateViewModel> GetPCsByDate(ReportDateBindingModel model);
|
||||||
List<ReportConsignmentsViewModel> GetConsignmentsByComponents(ReportComponentsBindingModel model);
|
List<ReportConsignmentsViewModel> GetConsignmentsByComponents(ReportComponentsBindingModel model);
|
||||||
|
|
||||||
void SaveProductsToPdfFile(ReportDateBindingModel model);
|
void SavePCsAndProductsToPdfFile(ReportDateBindingModel model);
|
||||||
void SavePCsToPdfFile(ReportDateBindingModel model);
|
void SaveConsignmentsToExcelFile(ReportComponentsBindingModel model);
|
||||||
|
void SaveConsignmentsToWordFile(ReportComponentsBindingModel model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user