diff --git a/AircraftPlant/AircraftPlantContracts»/BindingModels/ReportBindingModel.cs b/AircraftPlant/AircraftPlantContracts»/BindingModels/ReportBindingModel.cs new file mode 100644 index 0000000..48d6a9a --- /dev/null +++ b/AircraftPlant/AircraftPlantContracts»/BindingModels/ReportBindingModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AircraftPlantContracts.BindingModels +{ + public class ReportBindingModel + { + public string FileName { get; set; } = string.Empty; + public DateTime? DateFrom { get; set; } + public DateTime? DateTo { get; set; } + } +} diff --git a/AircraftPlant/AircraftPlantContracts»/BusinessLogicsContracts/IReportLogic.cs b/AircraftPlant/AircraftPlantContracts»/BusinessLogicsContracts/IReportLogic.cs new file mode 100644 index 0000000..64d7685 --- /dev/null +++ b/AircraftPlant/AircraftPlantContracts»/BusinessLogicsContracts/IReportLogic.cs @@ -0,0 +1,40 @@ +using AircraftPlantContracts.BindingModels; +using AircraftPlantContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AircraftPlantContracts.BusinessLogicsContracts +{ + public interface IReportLogic + { + /// + /// Получение списка компонент с указанием, в каких изделиях используются + /// + /// + List GetPlaneComponent(); + /// + /// Получение списка заказов за определенный период + /// + /// + /// + List GetOrders(ReportBindingModel model); + /// + /// Сохранение компонент в файл-Word + /// + /// + void SaveComponentsToWordFile(ReportBindingModel model); + /// + /// Сохранение компонент с указаеним продуктов в файл-Excel + /// + /// + void SavePlaneComponentToExcelFile(ReportBindingModel model); + /// + /// Сохранение заказов в файл-Pdf + /// + /// + void SaveOrdersToPdfFile(ReportBindingModel model); + } +} diff --git a/AircraftPlant/AircraftPlantContracts»/ViewModels/ReportOrdersViewModel.cs b/AircraftPlant/AircraftPlantContracts»/ViewModels/ReportOrdersViewModel.cs new file mode 100644 index 0000000..ec65fc4 --- /dev/null +++ b/AircraftPlant/AircraftPlantContracts»/ViewModels/ReportOrdersViewModel.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AircraftPlantContracts.ViewModels +{ + public class ReportOrdersViewModel + { + public int Id { get; set; } + public DateTime DateCreate { get; set; } + public string PlaneProductName { get; set; } = string.Empty; + public string OrderStatus { get; set; } = string.Empty; + public double Sum { get; set; } + } +} diff --git a/AircraftPlant/AircraftPlantContracts»/ViewModels/ReportPlaneComponentViewModel.cs b/AircraftPlant/AircraftPlantContracts»/ViewModels/ReportPlaneComponentViewModel.cs new file mode 100644 index 0000000..fc6f190 --- /dev/null +++ b/AircraftPlant/AircraftPlantContracts»/ViewModels/ReportPlaneComponentViewModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AircraftPlantContracts.ViewModels +{ + public class ReportPlaneComponentViewModel + { + public string PlaneName { get; set; } = string.Empty; + public int TotalCount { get; set; } + public List> Components { get; set; } = new(); + } +}