diff --git a/CarCenter/CarCenter.sln b/CarCenter/CarCenter.sln new file mode 100644 index 0000000..16c9682 --- /dev/null +++ b/CarCenter/CarCenter.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32929.385 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarCenterContracts", "CarCenterContracts\CarCenterContracts.csproj", "{AB1C6688-AF33-416D-9D4A-D8EDF252678B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarCenterDataModels", "CarCenterDataModels\CarCenterDataModels.csproj", "{C924311C-ABF3-44A1-A006-8197A11FB29A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AB1C6688-AF33-416D-9D4A-D8EDF252678B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AB1C6688-AF33-416D-9D4A-D8EDF252678B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AB1C6688-AF33-416D-9D4A-D8EDF252678B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AB1C6688-AF33-416D-9D4A-D8EDF252678B}.Release|Any CPU.Build.0 = Release|Any CPU + {C924311C-ABF3-44A1-A006-8197A11FB29A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C924311C-ABF3-44A1-A006-8197A11FB29A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C924311C-ABF3-44A1-A006-8197A11FB29A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C924311C-ABF3-44A1-A006-8197A11FB29A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0861E450-FDCE-4819-9489-9CE16E4FD2B7} + EndGlobalSection +EndGlobal diff --git a/CarCenter/CarCenterContracts/BindingModels/BossBindingModel.cs b/CarCenter/CarCenterContracts/BindingModels/BossBindingModel.cs new file mode 100644 index 0000000..ba83b28 --- /dev/null +++ b/CarCenter/CarCenterContracts/BindingModels/BossBindingModel.cs @@ -0,0 +1,24 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BindingModels +{ + public class BossBindingModel : IBossModel + { + public string Login { get; set; } = String.Empty; + + public string Password { get; set; } = String.Empty; + + public string Name { get; set; } = String.Empty; + + public string Surname { get; set; } = String.Empty; + + public string? Patronymic { get; set; } = String.Empty; + + public int Id { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/BindingModels/CarBindingModel.cs b/CarCenter/CarCenterContracts/BindingModels/CarBindingModel.cs new file mode 100644 index 0000000..0d4eaea --- /dev/null +++ b/CarCenter/CarCenterContracts/BindingModels/CarBindingModel.cs @@ -0,0 +1,21 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BindingModels +{ + public class CarBindingModel : ICarModel + { + public String Name { get; set; } + public int Id { get; set; } + + public Dictionary CarPresales { get; set; } = new(); + + public Dictionary CarConfigurations { get; set; } = new(); + + public int EmployeeId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/BindingModels/ConfigurationBindingModel.cs b/CarCenter/CarCenterContracts/BindingModels/ConfigurationBindingModel.cs new file mode 100644 index 0000000..531e230 --- /dev/null +++ b/CarCenter/CarCenterContracts/BindingModels/ConfigurationBindingModel.cs @@ -0,0 +1,16 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BindingModels +{ + public class ConfigurationBindingModel : IConfigurationModel + { + public string Name { get; set; } = String.Empty; + public int Id { get; set; } + public int BossId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/BindingModels/EmployeeBindingModel.cs b/CarCenter/CarCenterContracts/BindingModels/EmployeeBindingModel.cs new file mode 100644 index 0000000..cdf1948 --- /dev/null +++ b/CarCenter/CarCenterContracts/BindingModels/EmployeeBindingModel.cs @@ -0,0 +1,24 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BindingModels +{ + public class EmployeeBindingModel : IEmployeeModel + { + public string Login { get; set; } = string.Empty; + + public string Password { get; set; } = string.Empty; + + public string Name { get; set; } = string.Empty; + + public string Surname { get; set; } = string.Empty; + + public string? Patronymic { get; set; } = string.Empty; + + public int Id {get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/BindingModels/PresaleBindingModel.cs b/CarCenter/CarCenterContracts/BindingModels/PresaleBindingModel.cs new file mode 100644 index 0000000..ad773b9 --- /dev/null +++ b/CarCenter/CarCenterContracts/BindingModels/PresaleBindingModel.cs @@ -0,0 +1,18 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BindingModels +{ + public class PresaleBindingModel : IPresaleModel + { + public int EmployeeId { get; set; } + + public DateTime PresaleDate { get; set; } = DateTime.Now; + + public int Id { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/BindingModels/ReceiptBindingModel.cs b/CarCenter/CarCenterContracts/BindingModels/ReceiptBindingModel.cs new file mode 100644 index 0000000..6b4b514 --- /dev/null +++ b/CarCenter/CarCenterContracts/BindingModels/ReceiptBindingModel.cs @@ -0,0 +1,22 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BindingModels +{ + public class ReceiptBindingModel : IReceiptModel + { + public float Sum { get; set; } + + public DateTime ReceiptDate { get; set; } = DateTime.Now.Date; + + public int BossId { get; set; } + + public int ConfigurationId { get; set; } + + public int Id { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/BindingModels/SaleBindingModel.cs b/CarCenter/CarCenterContracts/BindingModels/SaleBindingModel.cs new file mode 100644 index 0000000..5607f6f --- /dev/null +++ b/CarCenter/CarCenterContracts/BindingModels/SaleBindingModel.cs @@ -0,0 +1,24 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BindingModels +{ + public class SaleBindingModel : ISaleModel + { + public int Id { get; set; } + public float Sum { get; set; } + + public DateTime SaleDateTime { get; set; } = DateTime.Now; + + public int CarId { get; set; } + + public int ReceiptId { get; set; } + + public int ConfigurationId { get; set; } + public int EmployeeId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/BindingModels/TypeOfJobBindingModel.cs b/CarCenter/CarCenterContracts/BindingModels/TypeOfJobBindingModel.cs new file mode 100644 index 0000000..0d586fd --- /dev/null +++ b/CarCenter/CarCenterContracts/BindingModels/TypeOfJobBindingModel.cs @@ -0,0 +1,19 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BindingModels +{ + public class TypeOfJobBindingModel : ITypeOfJobModel + { + public string Name { get; set; } = String.Empty; + + public Dictionary TypeOfJobConfigurations { get; set; } = new(); + + public int Id { get; set; } + public int BossId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/BusinessLogicsContracts/IBossLogic.cs b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IBossLogic.cs new file mode 100644 index 0000000..3a8a54c --- /dev/null +++ b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IBossLogic.cs @@ -0,0 +1,20 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BusinessLogicsContracts +{ + public interface IBossLogic + { + List? ReadList(BossSearchModel? model); + BossViewModel? ReadElement(BossSearchModel model); + bool Create(BossBindingModel model); + bool Update(BossBindingModel model); + bool Delete(BossBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/BusinessLogicsContracts/ICarLogic.cs b/CarCenter/CarCenterContracts/BusinessLogicsContracts/ICarLogic.cs new file mode 100644 index 0000000..d2999d2 --- /dev/null +++ b/CarCenter/CarCenterContracts/BusinessLogicsContracts/ICarLogic.cs @@ -0,0 +1,20 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BusinessLogicsContracts +{ + public interface ICarLogic + { + List? ReadList(CarSearchModel? model); + CarViewModel? ReadElement(CarSearchModel model); + bool Create(CarBindingModel model); + bool Update(CarBindingModel model); + bool Delete(CarBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/BusinessLogicsContracts/IConfigurationLogic.cs b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IConfigurationLogic.cs new file mode 100644 index 0000000..9a53c9a --- /dev/null +++ b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IConfigurationLogic.cs @@ -0,0 +1,21 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BusinessLogicsContracts +{ + public interface IConfigurationLogic + { + List? ReadList(ConfigurationSearchModel? model); + ConfigurationViewModel? ReadElement(ConfigurationSearchModel model); + bool Create(ConfigurationBindingModel model); + bool Update(ConfigurationBindingModel model); + bool Delete(ConfigurationBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/BusinessLogicsContracts/IEmployeeLogic.cs b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IEmployeeLogic.cs new file mode 100644 index 0000000..8dda250 --- /dev/null +++ b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IEmployeeLogic.cs @@ -0,0 +1,20 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BusinessLogicsContracts +{ + public interface IEmployeeLogic + { + List? ReadList(EmployeeSearchModel? model); + EmployeeViewModel? ReadElement(EmployeeSearchModel model); + bool Create(EmployeeBindingModel model); + bool Update(EmployeeBindingModel model); + bool Delete(EmployeeBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/BusinessLogicsContracts/IPresaleLogic.cs b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IPresaleLogic.cs new file mode 100644 index 0000000..fc44c4a --- /dev/null +++ b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IPresaleLogic.cs @@ -0,0 +1,20 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BusinessLogicsContracts +{ + public interface IPresaleLogic + { + List? ReadList(PresaleSearchModel? model); + PresaleViewModel? ReadElement(PresaleSearchModel model); + bool Create(PresaleBindingModel model); + bool Update(PresaleBindingModel model); + bool Delete(PresaleBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/BusinessLogicsContracts/IReceiptLogic.cs b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IReceiptLogic.cs new file mode 100644 index 0000000..df7e448 --- /dev/null +++ b/CarCenter/CarCenterContracts/BusinessLogicsContracts/IReceiptLogic.cs @@ -0,0 +1,20 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BusinessLogicsContracts +{ + public interface IReceiptLogic + { + List? ReadList(ReceiptSearchModel? model); + ReceiptViewModel? ReadElement(ReceiptSearchModel model); + bool Create(ReceiptBindingModel model); + bool Update(ReceiptBindingModel model); + bool Delete(ReceiptBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/BusinessLogicsContracts/ISaleLogic.cs b/CarCenter/CarCenterContracts/BusinessLogicsContracts/ISaleLogic.cs new file mode 100644 index 0000000..bae133b --- /dev/null +++ b/CarCenter/CarCenterContracts/BusinessLogicsContracts/ISaleLogic.cs @@ -0,0 +1,20 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BusinessLogicsContracts +{ + public interface ISaleLogic + { + List? ReadList(SaleSearchModel? model); + SaleViewModel? ReadElement(SaleSearchModel model); + bool Create(SaleBindingModel model); + bool Update(SaleBindingModel model); + bool Delete(SaleBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/BusinessLogicsContracts/ITypeOfJobLogic.cs b/CarCenter/CarCenterContracts/BusinessLogicsContracts/ITypeOfJobLogic.cs new file mode 100644 index 0000000..8d82159 --- /dev/null +++ b/CarCenter/CarCenterContracts/BusinessLogicsContracts/ITypeOfJobLogic.cs @@ -0,0 +1,20 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.BusinessLogicsContracts +{ + public interface ITypeOfJobLogic + { + List? ReadList(TypeOfJobSearchModel? model); + TypeOfJobViewModel? ReadElement(TypeOfJobSearchModel model); + bool Create(TypeOfJobBindingModel model); + bool Update(TypeOfJobBindingModel model); + bool Delete(TypeOfJobBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/CarCenterContracts.csproj b/CarCenter/CarCenterContracts/CarCenterContracts.csproj new file mode 100644 index 0000000..04200c5 --- /dev/null +++ b/CarCenter/CarCenterContracts/CarCenterContracts.csproj @@ -0,0 +1,19 @@ + + + + net6.0 + enable + enable + + + + + + + + + + + + + diff --git a/CarCenter/CarCenterContracts/SearchModels/BossSearchModel.cs b/CarCenter/CarCenterContracts/SearchModels/BossSearchModel.cs new file mode 100644 index 0000000..9d15d31 --- /dev/null +++ b/CarCenter/CarCenterContracts/SearchModels/BossSearchModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.SearchModels +{ + public class BossSearchModel + { + public int? Id { get; set; } + public string? Login { get; set; } + public string? Password { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/SearchModels/CarSearchModel.cs b/CarCenter/CarCenterContracts/SearchModels/CarSearchModel.cs new file mode 100644 index 0000000..855aaf9 --- /dev/null +++ b/CarCenter/CarCenterContracts/SearchModels/CarSearchModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.SearchModels +{ + public class CarSearchModel + { + public int? Id { get; set; } + public int? EmployeeId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/SearchModels/ConfigurationSearchModel.cs b/CarCenter/CarCenterContracts/SearchModels/ConfigurationSearchModel.cs new file mode 100644 index 0000000..8e95c3d --- /dev/null +++ b/CarCenter/CarCenterContracts/SearchModels/ConfigurationSearchModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.SearchModels +{ + public class ConfigurationSearchModel + { + public int? Id { get; set; } + public int? BossId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/SearchModels/EmployeeSearchModel.cs b/CarCenter/CarCenterContracts/SearchModels/EmployeeSearchModel.cs new file mode 100644 index 0000000..922ba59 --- /dev/null +++ b/CarCenter/CarCenterContracts/SearchModels/EmployeeSearchModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.SearchModels +{ + public class EmployeeSearchModel + { + public int? Id { get; set; } + public string? Login { get; set; } + + public string? Password { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/SearchModels/PresaleSearchModel.cs b/CarCenter/CarCenterContracts/SearchModels/PresaleSearchModel.cs new file mode 100644 index 0000000..9766e56 --- /dev/null +++ b/CarCenter/CarCenterContracts/SearchModels/PresaleSearchModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.SearchModels +{ + public class PresaleSearchModel + { + public int? Id { get; set; } + public int? EmployeeId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/SearchModels/ReceiptSearchModel.cs b/CarCenter/CarCenterContracts/SearchModels/ReceiptSearchModel.cs new file mode 100644 index 0000000..c9f1215 --- /dev/null +++ b/CarCenter/CarCenterContracts/SearchModels/ReceiptSearchModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.SearchModels +{ + public class ReceiptSearchModel + { + public int? Id { get; set; } + public int? BossId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/SearchModels/SaleSearchModel.cs b/CarCenter/CarCenterContracts/SearchModels/SaleSearchModel.cs new file mode 100644 index 0000000..2a5f36b --- /dev/null +++ b/CarCenter/CarCenterContracts/SearchModels/SaleSearchModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.SearchModels +{ + public class SaleSearchModel + { + public int? Id { get; set; } + public int? EmployeeId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/SearchModels/TypeOfJobSearchModel.cs b/CarCenter/CarCenterContracts/SearchModels/TypeOfJobSearchModel.cs new file mode 100644 index 0000000..070285c --- /dev/null +++ b/CarCenter/CarCenterContracts/SearchModels/TypeOfJobSearchModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.SearchModels +{ + public class TypeOfJobSearchModel + { + public int? Id { get; set; } + public int? BossId { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/StoragesContracts/IBossStorage.cs b/CarCenter/CarCenterContracts/StoragesContracts/IBossStorage.cs new file mode 100644 index 0000000..4464f4e --- /dev/null +++ b/CarCenter/CarCenterContracts/StoragesContracts/IBossStorage.cs @@ -0,0 +1,21 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.StoragesContracts +{ + public interface IBossStorage + { + List GetFullList(); + List GetFilteredList(BossSearchModel model); + BossViewModel? GetElement(BossSearchModel model); + BossViewModel? Insert(BossBindingModel model); + BossViewModel? Update(BossBindingModel model); + BossViewModel? Delete(BossBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/StoragesContracts/ICarStorage.cs b/CarCenter/CarCenterContracts/StoragesContracts/ICarStorage.cs new file mode 100644 index 0000000..a3af7b1 --- /dev/null +++ b/CarCenter/CarCenterContracts/StoragesContracts/ICarStorage.cs @@ -0,0 +1,21 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.StoragesContracts +{ + public interface ICarStorage + { + List GetFullList(); + List GetFilteredList(CarSearchModel model); + CarViewModel? GetElement(CarSearchModel model); + CarViewModel? Insert(CarBindingModel model); + CarViewModel? Update(CarBindingModel model); + CarViewModel? Delete(CarBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/StoragesContracts/IConfigurationStorage.cs b/CarCenter/CarCenterContracts/StoragesContracts/IConfigurationStorage.cs new file mode 100644 index 0000000..3c5cece --- /dev/null +++ b/CarCenter/CarCenterContracts/StoragesContracts/IConfigurationStorage.cs @@ -0,0 +1,21 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.StoragesContracts +{ + public interface IConfigurationStorage + { + List GetFullList(); + List GetFilteredList(ConfigurationSearchModel model); + ConfigurationViewModel? GetElement(ConfigurationSearchModel model); + ConfigurationViewModel? Insert(ConfigurationBindingModel model); + ConfigurationViewModel? Update(ConfigurationBindingModel model); + ConfigurationViewModel? Delete(ConfigurationBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/StoragesContracts/IEmployeeStorage.cs b/CarCenter/CarCenterContracts/StoragesContracts/IEmployeeStorage.cs new file mode 100644 index 0000000..01fa80c --- /dev/null +++ b/CarCenter/CarCenterContracts/StoragesContracts/IEmployeeStorage.cs @@ -0,0 +1,21 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.StoragesContracts +{ + public interface IEmployeeStorage + { + List GetFullList(); + List GetFilteredList(EmployeeSearchModel model); + EmployeeViewModel? GetElement(EmployeeSearchModel model); + EmployeeViewModel? Insert(EmployeeBindingModel model); + EmployeeViewModel? Update(EmployeeBindingModel model); + EmployeeViewModel? Delete(EmployeeBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/StoragesContracts/IPresaleStorage.cs b/CarCenter/CarCenterContracts/StoragesContracts/IPresaleStorage.cs new file mode 100644 index 0000000..dac80aa --- /dev/null +++ b/CarCenter/CarCenterContracts/StoragesContracts/IPresaleStorage.cs @@ -0,0 +1,21 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.StoragesContracts +{ + public interface IPresaleStorage + { + List GetFullList(); + List GetFilteredList(PresaleSearchModel model); + PresaleViewModel? GetElement(PresaleSearchModel model); + PresaleViewModel? Insert(PresaleBindingModel model); + PresaleViewModel? Update(PresaleBindingModel model); + PresaleViewModel? Delete(PresaleBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/StoragesContracts/IReceiptStorage.cs b/CarCenter/CarCenterContracts/StoragesContracts/IReceiptStorage.cs new file mode 100644 index 0000000..ce248c2 --- /dev/null +++ b/CarCenter/CarCenterContracts/StoragesContracts/IReceiptStorage.cs @@ -0,0 +1,21 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using CarCenterContracts.ViewModels; + +namespace CarCenterContracts.StoragesContracts +{ + public interface IReceiptStorage + { + List GetFullList(); + List GetFilteredList(ReceiptSearchModel model); + ReceiptViewModel? GetElement(ReceiptSearchModel model); + ReceiptViewModel? Insert(ReceiptBindingModel model); + ReceiptViewModel? Update(ReceiptBindingModel model); + ReceiptViewModel? Delete(ReceiptBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/StoragesContracts/ISaleStorage.cs b/CarCenter/CarCenterContracts/StoragesContracts/ISaleStorage.cs new file mode 100644 index 0000000..54ab95f --- /dev/null +++ b/CarCenter/CarCenterContracts/StoragesContracts/ISaleStorage.cs @@ -0,0 +1,21 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using CarCenterContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.StoragesContracts +{ + public interface ISaleStorage + { + List GetFullList(); + List GetFilteredList(SaleSearchModel model); + SaleViewModel? GetElement(SaleSearchModel model); + SaleViewModel? Insert(SaleBindingModel model); + SaleViewModel? Update(SaleBindingModel model); + SaleViewModel? Delete(SaleBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/StoragesContracts/ITypeOfJobStorage.cs b/CarCenter/CarCenterContracts/StoragesContracts/ITypeOfJobStorage.cs new file mode 100644 index 0000000..2855e8b --- /dev/null +++ b/CarCenter/CarCenterContracts/StoragesContracts/ITypeOfJobStorage.cs @@ -0,0 +1,21 @@ +using CarCenterContracts.BindingModels; +using CarCenterContracts.SearchModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using CarCenterContracts.ViewModels; + +namespace CarCenterContracts.StoragesContracts +{ + public interface ITypeOfJobStorage + { + List GetFullList(); + List GetFilteredList(TypeOfJobSearchModel model); + TypeOfJobViewModel? GetElement(TypeOfJobSearchModel model); + TypeOfJobViewModel? Insert(TypeOfJobBindingModel model); + TypeOfJobViewModel? Update(TypeOfJobBindingModel model); + TypeOfJobViewModel? Delete(TypeOfJobBindingModel model); + } +} diff --git a/CarCenter/CarCenterContracts/ViewModels/BossViewModel.cs b/CarCenter/CarCenterContracts/ViewModels/BossViewModel.cs new file mode 100644 index 0000000..6b767d9 --- /dev/null +++ b/CarCenter/CarCenterContracts/ViewModels/BossViewModel.cs @@ -0,0 +1,26 @@ +using CarCenterContracts.BusinessLogicsContracts; +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.ViewModels +{ + public class BossViewModel : IBossModel + { + [DisplayName("Логин")] + public string Login { get; set; } = String.Empty; + + public string Password { get; set; } = String.Empty; + [DisplayName("Фамилия")] + public string Surname { get; set; } = string.Empty; + [DisplayName("Имя")] + public string Name { get; set; } = string.Empty; + [DisplayName("Отчество")] + public string? Patronymic { get; set; } = String.Empty; + public int Id { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/ViewModels/CarViewModel.cs b/CarCenter/CarCenterContracts/ViewModels/CarViewModel.cs new file mode 100644 index 0000000..0ea2a8e --- /dev/null +++ b/CarCenter/CarCenterContracts/ViewModels/CarViewModel.cs @@ -0,0 +1,24 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.ViewModels +{ + public class CarViewModel : ICarModel + { + [DisplayName("Номер машины")] + public int Id { get; set; } + + [DisplayName("Название машины")] + public String Name { get; set; } + public Dictionary CarPresales { get; set; } = new(); + public Dictionary CarConfigurations { get; set; } = new(); + public int EmployeeId { get; set; } + [DisplayName("ФИО работника")] + public string EmployeeName { get; set; } = string.Empty; + } +} diff --git a/CarCenter/CarCenterContracts/ViewModels/ConfigurationViewModel.cs b/CarCenter/CarCenterContracts/ViewModels/ConfigurationViewModel.cs new file mode 100644 index 0000000..6f7d2b0 --- /dev/null +++ b/CarCenter/CarCenterContracts/ViewModels/ConfigurationViewModel.cs @@ -0,0 +1,21 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.ViewModels +{ + public class ConfigurationViewModel : IConfigurationModel + { + [DisplayName("Название комплектации")] + public string Name { get; set; } = string.Empty; + [DisplayName("Номер комплектации")] + public int Id { get; set; } + public int BossId { get; set; } + [DisplayName("ФИО начальника")] + public string BossName { get; set; } = string.Empty; + } +} diff --git a/CarCenter/CarCenterContracts/ViewModels/EmployeeViewModel.cs b/CarCenter/CarCenterContracts/ViewModels/EmployeeViewModel.cs new file mode 100644 index 0000000..080c238 --- /dev/null +++ b/CarCenter/CarCenterContracts/ViewModels/EmployeeViewModel.cs @@ -0,0 +1,26 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.ViewModels +{ + public class EmployeeViewModel : IEmployeeModel + { + [DisplayName("Логин")] + public string Login { get; set; } = string.Empty; + + public string Password { get; set; } = string.Empty; + [DisplayName("Фамилия")] + public string Surname { get; set; } = string.Empty; + [DisplayName("Имя")] + public string Name {get; set; } = string.Empty; + [DisplayName("Отчество")] + public string? Patronymic {get; set; } = string.Empty; + + public int Id { get; set; } + } +} diff --git a/CarCenter/CarCenterContracts/ViewModels/PresaleViewModel.cs b/CarCenter/CarCenterContracts/ViewModels/PresaleViewModel.cs new file mode 100644 index 0000000..128b2e4 --- /dev/null +++ b/CarCenter/CarCenterContracts/ViewModels/PresaleViewModel.cs @@ -0,0 +1,24 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.ViewModels +{ + public class PresaleViewModel : IPresaleModel + { + [DisplayName("Дата предпродажи")] + public DateTime PresaleDate {get;set;} = DateTime.Now; + + [DisplayName("Номер работника")] + public int EmployeeId { get; set; } + [DisplayName("ФИО работника")] + public string EmployeeName { get; set; } = string.Empty; + [DisplayName("Номер предпродажи")] + public int Id {get;set;} + } +} diff --git a/CarCenter/CarCenterContracts/ViewModels/ReceiptViewModel.cs b/CarCenter/CarCenterContracts/ViewModels/ReceiptViewModel.cs new file mode 100644 index 0000000..ea93303 --- /dev/null +++ b/CarCenter/CarCenterContracts/ViewModels/ReceiptViewModel.cs @@ -0,0 +1,27 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.ViewModels +{ + public class ReceiptViewModel : IReceiptModel + { + [DisplayName("Сумма поступления")] + public float Sum { get; set; } + [DisplayName("Дата поступления")] + public DateTime ReceiptDate { get; set; } = DateTime.Now.Date; + public int BossId { get; set; } + [DisplayName("ФИО начальника")] + public string BossName { get; set; } = string.Empty; + public int ConfigurationId { get; set; } + [DisplayName("Название комплектации")] + public string ConfigurationName { get; set; } = string.Empty; + [DisplayName("Номер поступления")] + public int Id { get; set; } + + } +} diff --git a/CarCenter/CarCenterContracts/ViewModels/SaleViewModel.cs b/CarCenter/CarCenterContracts/ViewModels/SaleViewModel.cs new file mode 100644 index 0000000..52b8776 --- /dev/null +++ b/CarCenter/CarCenterContracts/ViewModels/SaleViewModel.cs @@ -0,0 +1,31 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.ViewModels +{ + public class SaleViewModel : ISaleModel + { + [DisplayName("Номер продажи")] + public int Id { get; set; } + [DisplayName("Сумма")] + public float Sum {get; set;} + [DisplayName("Дата и время продажи")] + public DateTime SaleDateTime {get; set;} = DateTime.Now; + [DisplayName("Номер машины")] + public int CarId {get; set;} + + [DisplayName("Номер поступления")] + public int ReceiptId {get; set;} + public int ConfigurationId { get; set; } + [DisplayName("Название комплектации")] + public string ConfigurationName { get; set; } = string.Empty; + public int EmployeeId { get; set; } + [DisplayName("ФИО работника")] + public string EmployeeName { get; set; } = string.Empty; + } +} diff --git a/CarCenter/CarCenterContracts/ViewModels/TypeOfJobViewModel.cs b/CarCenter/CarCenterContracts/ViewModels/TypeOfJobViewModel.cs new file mode 100644 index 0000000..5d8f93b --- /dev/null +++ b/CarCenter/CarCenterContracts/ViewModels/TypeOfJobViewModel.cs @@ -0,0 +1,22 @@ +using CarCenterDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterContracts.ViewModels +{ + public class TypeOfJobViewModel : ITypeOfJobModel + { + [DisplayName("Название вида работы")] + public string Name { get; set; } = string.Empty; + public Dictionary TypeOfJobConfigurations { get; set; } = new(); + [DisplayName("Номер вида работы")] + public int Id { get; set; } + public int BossId { get; set; } + [DisplayName("ФИО начальника")] + public string BossFIO { get; set; } = string.Empty; + } +} diff --git a/CarCenter/CarCenterDataModels/CarCenterDataModels.csproj b/CarCenter/CarCenterDataModels/CarCenterDataModels.csproj new file mode 100644 index 0000000..132c02c --- /dev/null +++ b/CarCenter/CarCenterDataModels/CarCenterDataModels.csproj @@ -0,0 +1,9 @@ + + + + net6.0 + enable + enable + + + diff --git a/CarCenter/CarCenterDataModels/IId.cs b/CarCenter/CarCenterDataModels/IId.cs new file mode 100644 index 0000000..8b31ba5 --- /dev/null +++ b/CarCenter/CarCenterDataModels/IId.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterDataModels +{ + public interface IId + { + int Id { get; } + } +} diff --git a/CarCenter/CarCenterDataModels/Models/IBossModel.cs b/CarCenter/CarCenterDataModels/Models/IBossModel.cs new file mode 100644 index 0000000..e72ea52 --- /dev/null +++ b/CarCenter/CarCenterDataModels/Models/IBossModel.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterDataModels.Models +{ + public interface IBossModel : IId + { + string Login { get; } + string Password { get; } + string Name { get; } + string Surname { get; } + string? Patronymic { get; } + } +} diff --git a/CarCenter/CarCenterDataModels/Models/ICarModel.cs b/CarCenter/CarCenterDataModels/Models/ICarModel.cs new file mode 100644 index 0000000..b363974 --- /dev/null +++ b/CarCenter/CarCenterDataModels/Models/ICarModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterDataModels.Models +{ + public interface ICarModel : IId + { + string Name { get; } + Dictionary CarPresales { get; } + Dictionary CarConfigurations { get; } + int EmployeeId { get; } + } +} diff --git a/CarCenter/CarCenterDataModels/Models/IConfigurationModel.cs b/CarCenter/CarCenterDataModels/Models/IConfigurationModel.cs new file mode 100644 index 0000000..7b5ffcc --- /dev/null +++ b/CarCenter/CarCenterDataModels/Models/IConfigurationModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterDataModels.Models +{ + public interface IConfigurationModel : IId + { + string Name { get; } + int BossId { get; } + } +} diff --git a/CarCenter/CarCenterDataModels/Models/IEmployeeModel.cs b/CarCenter/CarCenterDataModels/Models/IEmployeeModel.cs new file mode 100644 index 0000000..c105778 --- /dev/null +++ b/CarCenter/CarCenterDataModels/Models/IEmployeeModel.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterDataModels.Models +{ + public interface IEmployeeModel : IId + { + string Login { get; } + string Password { get; } + string Name { get; } + string Surname { get; } + string? Patronymic { get; } + } +} diff --git a/CarCenter/CarCenterDataModels/Models/IPresaleModel.cs b/CarCenter/CarCenterDataModels/Models/IPresaleModel.cs new file mode 100644 index 0000000..ff369ce --- /dev/null +++ b/CarCenter/CarCenterDataModels/Models/IPresaleModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterDataModels.Models +{ + public interface IPresaleModel : IId + { + DateTime PresaleDate { get; } + int EmployeeId { get; } + } +} diff --git a/CarCenter/CarCenterDataModels/Models/IReceiptModel.cs b/CarCenter/CarCenterDataModels/Models/IReceiptModel.cs new file mode 100644 index 0000000..79a530d --- /dev/null +++ b/CarCenter/CarCenterDataModels/Models/IReceiptModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterDataModels.Models +{ + public interface IReceiptModel : IId + { + DateTime ReceiptDate { get;} + float Sum { get; } + int BossId { get; } + int ConfigurationId { get; } + } +} diff --git a/CarCenter/CarCenterDataModels/Models/ISaleModel.cs b/CarCenter/CarCenterDataModels/Models/ISaleModel.cs new file mode 100644 index 0000000..6505fb3 --- /dev/null +++ b/CarCenter/CarCenterDataModels/Models/ISaleModel.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterDataModels.Models +{ + public interface ISaleModel : IId + { + float Sum { get; } + DateTime SaleDateTime { get; } + int CarId { get; } + int EmployeeId { get; } + int ReceiptId { get; } + int ConfigurationId { get; } + } +} diff --git a/CarCenter/CarCenterDataModels/Models/ITypeOfJob.cs b/CarCenter/CarCenterDataModels/Models/ITypeOfJob.cs new file mode 100644 index 0000000..a76ec0c --- /dev/null +++ b/CarCenter/CarCenterDataModels/Models/ITypeOfJob.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CarCenterDataModels.Models +{ + public interface ITypeOfJobModel : IId + { + string Name { get;} + int BossId { get;} + Dictionary TypeOfJobConfigurations { get; } + } +}