diff --git a/AccountingWarehouseProducts/AccountingWarehouseProducts.sln b/AccountingWarehouseProducts/AccountingWarehouseProducts.sln index 4e03fba..e49f4b8 100644 --- a/AccountingWarehouseProducts/AccountingWarehouseProducts.sln +++ b/AccountingWarehouseProducts/AccountingWarehouseProducts.sln @@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AccountingWarehouseProducts EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AccountingWarehouseProductsDataModels", "AccountingWarehouseProductsDataModels\AccountingWarehouseProductsDataModels.csproj", "{765B9DAD-2EB2-4C28-B6DD-4670807CB7DC}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AccountingWarehouseProductsContracts", "AccountingWarehouseProductsContracts\AccountingWarehouseProductsContracts.csproj", "{4633456D-A979-41D6-9D0A-A6DAA6A17766}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -21,6 +23,10 @@ Global {765B9DAD-2EB2-4C28-B6DD-4670807CB7DC}.Debug|Any CPU.Build.0 = Debug|Any CPU {765B9DAD-2EB2-4C28-B6DD-4670807CB7DC}.Release|Any CPU.ActiveCfg = Release|Any CPU {765B9DAD-2EB2-4C28-B6DD-4670807CB7DC}.Release|Any CPU.Build.0 = Release|Any CPU + {4633456D-A979-41D6-9D0A-A6DAA6A17766}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4633456D-A979-41D6-9D0A-A6DAA6A17766}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4633456D-A979-41D6-9D0A-A6DAA6A17766}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4633456D-A979-41D6-9D0A-A6DAA6A17766}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/AccountingWarehouseProductsContracts.csproj b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/AccountingWarehouseProductsContracts.csproj new file mode 100644 index 0000000..101c4e0 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/AccountingWarehouseProductsContracts.csproj @@ -0,0 +1,13 @@ + + + + net6.0 + enable + enable + + + + + + + diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/OrderBindingModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/OrderBindingModel.cs new file mode 100644 index 0000000..64d2bc9 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/OrderBindingModel.cs @@ -0,0 +1,20 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BindingModels +{ + public class OrderBindingModel : IOrderModel + { + public int Id { get; set; } + + public DateTime? DateofOrder { get; set; } + + public AccountingWarehouseProductsDataModels.Enums.OrderStatus Status { get; set; } = AccountingWarehouseProductsDataModels.Enums.OrderStatus.Неизвестен; + + public Dictionary OrderProducts { get; set; } = new(); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/ProductBindingModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/ProductBindingModel.cs new file mode 100644 index 0000000..3f489de --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/ProductBindingModel.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BindingModels +{ + public class ProductBindingModel : IProductModel + { + public int Id { get; set; } + + public string ProductName { get; set; } = string.Empty; + + public double Cost { get; set; } + + public DateTime? ExpirationDate { get; set; } + + public string Category { get; set; } = string.Empty; + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/ShipmentBindingModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/ShipmentBindingModel.cs new file mode 100644 index 0000000..f1f5c2f --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/ShipmentBindingModel.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BindingModels +{ + public class ShipmentBindingModel : IShipmentModel + { + public int Id { get; set; } + + public DateTime ShipmentDate { get; set; } + + public int Count { get; set; } + + public string Recipient { get; set; } = string.Empty; + + public int OrderId { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/StandBindingModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/StandBindingModel.cs new file mode 100644 index 0000000..17c3ccb --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/StandBindingModel.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BindingModels +{ + public class StandBindingModel : IStandModel + { + public int Id { get; set; } + + public DateTime? DeliveryDate { get; set; } + + public int Count { get; set; } + + public int ProductId { get; set; } + + public int SupplierId { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/SupplierBindingModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/SupplierBindingModel.cs new file mode 100644 index 0000000..aa3967d --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/SupplierBindingModel.cs @@ -0,0 +1,20 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BindingModels +{ + public class SupplierBindingModel : ISupplierModel + { + public int Id { get; set; } + + public string SupplierName { get; set; } = string.Empty; + + public string ContactPerson { get; set; } = string.Empty; + + public string Phone { get; set; } = string.Empty; + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/WarehouseBindingModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/WarehouseBindingModel.cs new file mode 100644 index 0000000..5e8ab26 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BindingModels/WarehouseBindingModel.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BindingModels +{ + public class WarehouseBindingModel : IWarehouseModel + { + public int Id { get; set; } + + public string WarehouseName { get; set; } = string.Empty; + + public string Address { get; set; } = string.Empty; + + public int Capacity { get; set; } + + public Dictionary WarehouseProducts { get; set; } = new(); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IOrderLogic.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IOrderLogic.cs new file mode 100644 index 0000000..47deeb7 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IOrderLogic.cs @@ -0,0 +1,27 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BusinessLogicsContracts +{ + public interface IOrderLogic + { + List? ReadList(OrderSearchModel? model); + OrderViewModel? ReadElement(OrderSearchModel model); + + bool Create(OrderBindingModel model); + bool Update(OrderBindingModel model); + bool Delete(OrderBindingModel model); + bool OrderedOrder(OrderBindingModel model); + bool ComeOrder(OrderBindingModel model); + bool TakeOrder(OrderBindingModel model); + bool ArrangeOrder(OrderBindingModel model); + bool ChekOrder(OrderBindingModel model); + bool DeliverOrder(OrderBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IProductLogic.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IProductLogic.cs new file mode 100644 index 0000000..6543646 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IProductLogic.cs @@ -0,0 +1,21 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BusinessLogicsContracts +{ + public interface IProductLogic + { + List? ReadList(ProductSearchModel? model); + ProductViewModel? ReadElement(ProductSearchModel model); + + bool Create(ProductBindingModel model); + bool Update(ProductBindingModel model); + bool Delete(ProductBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IShipmentLogic.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IShipmentLogic.cs new file mode 100644 index 0000000..b5908fa --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IShipmentLogic.cs @@ -0,0 +1,21 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BusinessLogicsContracts +{ + public interface IShipmentLogic + { + List? ReadList(ShipmentSearchModel? model); + ShipmentViewModel? ReadElement(ShipmentSearchModel model); + + bool Create(ShipmentBindingModel model); + bool Update(ShipmentBindingModel model); + bool Delete(ShipmentBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IStandLogic.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IStandLogic.cs new file mode 100644 index 0000000..41b5743 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IStandLogic.cs @@ -0,0 +1,21 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BusinessLogicsContracts +{ + public interface IStandLogic + { + List? ReadList(StandSearchModel? model); + StandViewModel? ReadElement(StandSearchModel model); + + bool Create(StandBindingModel model); + bool Update(StandBindingModel model); + bool Delete(StandBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/ISupplierLogic.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/ISupplierLogic.cs new file mode 100644 index 0000000..fd25ef9 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/ISupplierLogic.cs @@ -0,0 +1,21 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BusinessLogicsContracts +{ + public interface ISupplierLogic + { + List? ReadList(SupplierSearchModel? model); + SupplierViewModel? ReadElement(SupplierSearchModel model); + + bool Create(SupplierBindingModel model); + bool Update(SupplierBindingModel model); + bool Delete(SupplierBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IWarehouseLogic.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IWarehouseLogic.cs new file mode 100644 index 0000000..fc4dc3f --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/BusinessLogicsContracts/IWarehouseLogic.cs @@ -0,0 +1,21 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.BusinessLogicsContracts +{ + public interface IWarehouseLogic + { + List? ReadList(WarehouseSearchModel? model); + WarehouseViewModel? ReadElement(WarehouseSearchModel model); + + bool Create(WarehouseBindingModel model); + bool Update(WarehouseBindingModel model); + bool Delete(WarehouseBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/OrderSearchModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/OrderSearchModel.cs new file mode 100644 index 0000000..580d4a4 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/OrderSearchModel.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.SearchModels +{ + public class OrderSearchModel + { + public int? Id { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/ProductSearchModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/ProductSearchModel.cs new file mode 100644 index 0000000..c316c7a --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/ProductSearchModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.SearchModels +{ + public class ProductSearchModel + { + public int? Id { get; set; } + + public string? ProductName { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/ShipmentSearchModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/ShipmentSearchModel.cs new file mode 100644 index 0000000..7b7561d --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/ShipmentSearchModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.SearchModels +{ + public class ShipmentSearchModel + { + public int? Id { get; set; } + + public string? Recipient { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/StandSearchModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/StandSearchModel.cs new file mode 100644 index 0000000..2497b91 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/StandSearchModel.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.SearchModels +{ + public class StandSearchModel + { + public int? Id { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/SupplierSearchModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/SupplierSearchModel.cs new file mode 100644 index 0000000..f5ba7d6 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/SupplierSearchModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.SearchModels +{ + public class SupplierSearchModel + { + public int? Id { get; set; } + + public string? SupplierName { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/WarehouseSearchModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/WarehouseSearchModel.cs new file mode 100644 index 0000000..e87c0a2 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/SearchModels/WarehouseSearchModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.SearchModels +{ + public class WarehouseSearchModel + { + public int? Id { get; set; } + + public string? WarehouseName { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IOrderStorage.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IOrderStorage.cs new file mode 100644 index 0000000..571787c --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IOrderStorage.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.StoragesContracts +{ + public interface IOrderStorage + { + List GetFullList(); + List GetFilteredList(OrderSearchModel model); + + OrderViewModel? GetElement(OrderSearchModel model); + OrderViewModel? Insert(OrderBindingModel model); + OrderViewModel? Update(OrderBindingModel model); + OrderViewModel? Delete(OrderBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IProductStorage.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IProductStorage.cs new file mode 100644 index 0000000..2100610 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IProductStorage.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.StoragesContracts +{ + public interface IProductStorage + { + List GetFullList(); + List GetFilteredList(ProductSearchModel model); + + ProductViewModel? GetElement(ProductSearchModel model); + ProductViewModel? Insert(ProductBindingModel model); + ProductViewModel? Update(ProductBindingModel model); + ProductViewModel? Delete(ProductBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IShipmentStorage.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IShipmentStorage.cs new file mode 100644 index 0000000..c790237 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IShipmentStorage.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.StoragesContracts +{ + public interface IShipmentStorage + { + List GetFullList(); + List GetFilteredList(ShipmentSearchModel model); + + ShipmentViewModel? GetElement(ShipmentSearchModel model); + ShipmentViewModel? Insert(ShipmentBindingModel model); + ShipmentViewModel? Update(ShipmentBindingModel model); + ShipmentViewModel? Delete(ShipmentBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IStandStorage.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IStandStorage.cs new file mode 100644 index 0000000..12877ef --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IStandStorage.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.StoragesContracts +{ + public interface IStandStorage + { + List GetFullList(); + List GetFilteredList(StandSearchModel model); + + StandViewModel? GetElement(StandSearchModel model); + StandViewModel? Insert(StandBindingModel model); + StandViewModel? Update(StandBindingModel model); + StandViewModel? Delete(StandBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/ISupplierStorage.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/ISupplierStorage.cs new file mode 100644 index 0000000..920444a --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/ISupplierStorage.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.StoragesContracts +{ + public interface ISupplierStorage + { + List GetFullList(); + List GetFilteredList(SupplierSearchModel model); + + SupplierViewModel? GetElement(SupplierSearchModel model); + SupplierViewModel? Insert(SupplierBindingModel model); + SupplierViewModel? Update(SupplierBindingModel model); + SupplierViewModel? Delete(SupplierBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IWarehouseStorage.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IWarehouseStorage.cs new file mode 100644 index 0000000..6dd77e8 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/StoragesContracts/IWarehouseStorage.cs @@ -0,0 +1,22 @@ +using AccountingWarehouseProductsContracts.BindingModels; +using AccountingWarehouseProductsContracts.SearchModels; +using AccountingWarehouseProductsContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.StoragesContracts +{ + public interface IWarehouseStorage + { + List GetFullList(); + List GetFilteredList(WarehouseSearchModel model); + + WarehouseViewModel? GetElement(WarehouseSearchModel model); + WarehouseViewModel? Insert(WarehouseBindingModel model); + WarehouseViewModel? Update(WarehouseBindingModel model); + WarehouseViewModel? Delete(WarehouseBindingModel model); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/OrderViewModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/OrderViewModel.cs new file mode 100644 index 0000000..d2b8cbb --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/OrderViewModel.cs @@ -0,0 +1,24 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.ViewModels +{ + public class OrderViewModel : IOrderModel + { + [DisplayName("Номер")] + public int Id { get; set; } + + [DisplayName("Дата заказа")] + public DateTime? DateofOrder { get; set; } + + [DisplayName("Статус заказа")] + public AccountingWarehouseProductsDataModels.Enums.OrderStatus Status { get; set; } + + public Dictionary OrderProducts { get; set; } = new(); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/ProductViewModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/ProductViewModel.cs new file mode 100644 index 0000000..8eaf731 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/ProductViewModel.cs @@ -0,0 +1,27 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.ViewModels +{ + public class ProductViewModel : IProductModel + { + public int Id { get; set; } + + [DisplayName("Название продукта")] + public string ProductName { get; set; } = string.Empty; + + [DisplayName("Цена продукта")] + public double Cost { get; set; } + + [DisplayName("Срок годности")] + public DateTime? ExpirationDate { get; set; } + + [DisplayName("Категория")] + public string Category { get; set; } = string.Empty; + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/ShipmentViewModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/ShipmentViewModel.cs new file mode 100644 index 0000000..b505c59 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/ShipmentViewModel.cs @@ -0,0 +1,27 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.ViewModels +{ + public class ShipmentViewModel : IShipmentModel + { + [DisplayName("Номер")] + public int Id { get; set; } + + [DisplayName("Дата отгрузки")] + public DateTime ShipmentDate { get; set; } + + [DisplayName("Количество")] + public int Count { get; set; } + + [DisplayName("Получатель")] + public string Recipient { get; set; } = string.Empty; + + public int OrderId { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/StandViewModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/StandViewModel.cs new file mode 100644 index 0000000..01d2508 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/StandViewModel.cs @@ -0,0 +1,26 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.ViewModels +{ + public class StandViewModel : IStandModel + { + [DisplayName("Номер")] + public int Id { get; set; } + + [DisplayName("Дата поставки")] + public DateTime? DeliveryDate { get; set; } + + [DisplayName("Количество")] + public int Count { get; set; } + + public int ProductId { get; set; } + + public int SupplierId { get; set; } + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/SupplierViewModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/SupplierViewModel.cs new file mode 100644 index 0000000..892e0c6 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/SupplierViewModel.cs @@ -0,0 +1,24 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.ViewModels +{ + public class SupplierViewModel : ISupplierModel + { + public int Id { get; set; } + + [DisplayName("Название поставщика")] + public string SupplierName { get; set; } = string.Empty; + + [DisplayName("Контактное лицо")] + public string ContactPerson { get; set; } = string.Empty; + + [DisplayName("Номер телефона")] + public string Phone { get; set; } = string.Empty; + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/WarehouseViewModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/WarehouseViewModel.cs new file mode 100644 index 0000000..2f7bd77 --- /dev/null +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsContracts/ViewModels/WarehouseViewModel.cs @@ -0,0 +1,26 @@ +using AccountingWarehouseProductsDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccountingWarehouseProductsContracts.ViewModels +{ + public class WarehouseViewModel : IWarehouseModel + { + public int Id { get; set; } + + [DisplayName("Название склада")] + public string WarehouseName { get; set; } = string.Empty; + + [DisplayName("Адрес")] + public string Address { get; set; } = string.Empty; + + [DisplayName("Вместимость")] + public int Capacity { get; set; } + + public Dictionary WarehouseProducts { get; set; } = new(); + } +} diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Enums/MovementProductStatus.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Enums/OrderStatus.cs similarity index 91% rename from AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Enums/MovementProductStatus.cs rename to AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Enums/OrderStatus.cs index aabbdbb..06bf539 100644 --- a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Enums/MovementProductStatus.cs +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Enums/OrderStatus.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace AccountingWarehouseProductsDataModels.Enums { - public enum MovementProductStatus + public enum OrderStatus { Неизвестен = -1, diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IOrderModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IOrderModel.cs index 722635e..2b3fccf 100644 --- a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IOrderModel.cs +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IOrderModel.cs @@ -10,7 +10,7 @@ namespace AccountingWarehouseProductsDataModels.Models { DateTime? DateofOrder { get; } - string Status { get; } + Enums.OrderStatus Status { get; } Dictionary OrderProducts { get; } } diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IProductModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IProductModel.cs index 88c48a5..e224e3f 100644 --- a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IProductModel.cs +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IProductModel.cs @@ -8,7 +8,7 @@ namespace AccountingWarehouseProductsDataModels.Models { public interface IProductModel : IId { - string Name { get; } + string ProductName { get; } double Cost { get; } diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/ISupplierModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/ISupplierModel.cs index 3b03835..626e273 100644 --- a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/ISupplierModel.cs +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/ISupplierModel.cs @@ -8,7 +8,7 @@ namespace AccountingWarehouseProductsDataModels.Models { public interface ISupplierModel : IId { - string Name { get; } + string SupplierName { get; } string ContactPerson { get; } diff --git a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IWarehouseModel.cs b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IWarehouseModel.cs index c855b1e..b8de7c6 100644 --- a/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IWarehouseModel.cs +++ b/AccountingWarehouseProducts/AccountingWarehouseProductsDataModels/Models/IWarehouseModel.cs @@ -8,7 +8,7 @@ namespace AccountingWarehouseProductsDataModels.Models { public interface IWarehouseModel : IId { - string Name { get; } + string WarehouseName { get; } string Address { get; }