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();
+ }
+}