diff --git a/BeautySalonView/BeautySalonBusinessLogic/BusinessLogic/ClientLogic.cs b/BeautySalonView/BeautySalonBusinessLogic/BusinessLogic/ClientLogic.cs index 4424fe9..d62b299 100644 --- a/BeautySalonView/BeautySalonBusinessLogic/BusinessLogic/ClientLogic.cs +++ b/BeautySalonView/BeautySalonBusinessLogic/BusinessLogic/ClientLogic.cs @@ -122,10 +122,14 @@ namespace BeautySalonBusinessLogic.BusinessLogics { throw new ArgumentNullException("Нет ФИО клиента", nameof(model.ClientFIO)); } + if (string.IsNullOrEmpty(model.ClientPhone)) + { + throw new ArgumentNullException("Нет телефона клиента", nameof(model.ClientEmail)); + } if (string.IsNullOrEmpty(model.ClientEmail)) { throw new ArgumentNullException("Нет почты клиента", nameof(model.ClientEmail)); - } + } if (string.IsNullOrEmpty(model.ClientPassword)) { throw new ArgumentNullException("Нет пароля", nameof(model.ClientPassword)); diff --git a/BeautySalonView/BeautySalonContracts/BindingModels/OrderBindingModel.cs b/BeautySalonView/BeautySalonContracts/BindingModels/OrderBindingModel.cs index 46b669a..fd627da 100644 --- a/BeautySalonView/BeautySalonContracts/BindingModels/OrderBindingModel.cs +++ b/BeautySalonView/BeautySalonContracts/BindingModels/OrderBindingModel.cs @@ -11,8 +11,8 @@ namespace BeautySalonContracts.BindingModels public DateTime OrderDate { get; set; } public double OrderAmount { get; set; } public int ClientId { get; set; } - public List OrderService { get; set; } = new(); - public List OrderCosmetic { get; set; } = new(); - public List OrderProcedure { get; set; } = new(); + public List OrderServices { get; set; } = new(); + public List OrderCosmetics { get; set; } = new(); + public List OrderProcedures { get; set; } = new(); } } diff --git a/BeautySalonView/BeautySalonContracts/StoragesContracts/IProcedureStorage.cs b/BeautySalonView/BeautySalonContracts/StoragesContracts/IProcedureStorage.cs index 7478c8e..90d686a 100644 --- a/BeautySalonView/BeautySalonContracts/StoragesContracts/IProcedureStorage.cs +++ b/BeautySalonView/BeautySalonContracts/StoragesContracts/IProcedureStorage.cs @@ -17,6 +17,7 @@ namespace BeautySalonContracts.StoragesContracts ProcedureViewModel? Insert(ProcedureBindingModel model); ProcedureViewModel? Update(ProcedureBindingModel model); ProcedureViewModel? Delete(ProcedureBindingModel model); + List GetProcedureCosmetics(ProcedureSearchModel model); } } diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Implements/LaborCostsStorage.cs b/BeautySalonView/BeautySalonDatabaseImplement/Implements/LaborCostsStorage.cs index 90a548e..44c3804 100644 --- a/BeautySalonView/BeautySalonDatabaseImplement/Implements/LaborCostsStorage.cs +++ b/BeautySalonView/BeautySalonDatabaseImplement/Implements/LaborCostsStorage.cs @@ -49,13 +49,6 @@ namespace BeautySalonDatabaseImplement.Implements .Select(x => x.GetViewModel) .ToList(); } - if (model.Id.HasValue) - { - return context.LaborCosts - .Where(x => x.Id == model.Id) - .Select(x => x.GetViewModel) - .ToList(); - } return new(); } diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Implements/ProcedureStorage.cs b/BeautySalonView/BeautySalonDatabaseImplement/Implements/ProcedureStorage.cs index 6ae1021..fbef22d 100644 --- a/BeautySalonView/BeautySalonDatabaseImplement/Implements/ProcedureStorage.cs +++ b/BeautySalonView/BeautySalonDatabaseImplement/Implements/ProcedureStorage.cs @@ -55,7 +55,7 @@ namespace BeautySalonDatabaseImplement.Implements .Select(x => x.GetViewModel) .ToList(); } - if (model.ClientId.HasValue && model.PageNumber.HasValue && model.PageSize.HasValue) + if (model.ClientId.HasValue) { return context.Procedures .Where(x => x.ClientId == model.ClientId) diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Models/Client.cs b/BeautySalonView/BeautySalonDatabaseImplement/Models/Client.cs index 305cf54..fb483a2 100644 --- a/BeautySalonView/BeautySalonDatabaseImplement/Models/Client.cs +++ b/BeautySalonView/BeautySalonDatabaseImplement/Models/Client.cs @@ -18,6 +18,9 @@ namespace BeautySalonDatabaseImplement.Models [Required] public string ClientEmail { get; set; } = string.Empty; + [Required] + public string ClientPhone { get; set; } = string.Empty; + [Required] public string ClientPassword { get; set; } = string.Empty; diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Models/Cosmetic.cs b/BeautySalonView/BeautySalonDatabaseImplement/Models/Cosmetic.cs index a5ba8a4..a8afa24 100644 --- a/BeautySalonView/BeautySalonDatabaseImplement/Models/Cosmetic.cs +++ b/BeautySalonView/BeautySalonDatabaseImplement/Models/Cosmetic.cs @@ -26,6 +26,9 @@ namespace BeautySalonDatabaseImplement.Models public int LaborCostId { get; set; } public virtual LaborCosts LaborCost { get; set; } + [ForeignKey("CosmeticId")] + public virtual List Orders { get; set; } = new(); + [ForeignKey("CosmeticId")] public virtual List Procedures { get; set; } = new(); diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Models/LaborCosts.cs b/BeautySalonView/BeautySalonDatabaseImplement/Models/LaborCosts.cs index 0b187c6..f1f0ca7 100644 --- a/BeautySalonView/BeautySalonDatabaseImplement/Models/LaborCosts.cs +++ b/BeautySalonView/BeautySalonDatabaseImplement/Models/LaborCosts.cs @@ -22,7 +22,7 @@ namespace BeautySalonDatabaseImplement.Models public virtual StaffMember StaffMember { get; set; } - // Связь трудозатрат и услуг один-ко-многим сущностью Cosmetic + // Связь трудозатрат и косметики один-ко-многим сущностью Cosmetic public virtual List Cosmetics { get; set; } = new(); public static LaborCosts? Create(LaborCostsBindingModel? model) @@ -47,12 +47,14 @@ namespace BeautySalonDatabaseImplement.Models return; } NumberHours = model.NumberHours; + Difficulty = model.Difficulty; } public LaborCostsViewModel GetViewModel => new() { Id = Id, - NumberHours = NumberHours + NumberHours = NumberHours, + Difficulty = Difficulty }; } diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Models/Order_.cs b/BeautySalonView/BeautySalonDatabaseImplement/Models/Order_.cs index 1de3e6c..df37af5 100644 --- a/BeautySalonView/BeautySalonDatabaseImplement/Models/Order_.cs +++ b/BeautySalonView/BeautySalonDatabaseImplement/Models/Order_.cs @@ -113,9 +113,9 @@ namespace BeautySalonDatabaseImplement.Models Id = Id, OrderDate = OrderDate, OrderAmount = OrderAmount, - OrderServices = OrderServices, - OrderProcedures = OrderProcedures, - OrderCosmetics = OrderCosmetics, + OrderService = OrderServices, + OrderProcedure = OrderProcedures, + OrderCosmetic = OrderCosmetics, ClientId = ClientId }; diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Models/Procedure.cs b/BeautySalonView/BeautySalonDatabaseImplement/Models/Procedure.cs index 8ddcb2b..494bcbf 100644 --- a/BeautySalonView/BeautySalonDatabaseImplement/Models/Procedure.cs +++ b/BeautySalonView/BeautySalonDatabaseImplement/Models/Procedure.cs @@ -21,6 +21,9 @@ namespace BeautySalonDatabaseImplement.Models [Required] public double ProcedurePrice { get; set; } + [Required] + public double ProcedureDuration { get; set; } + public int ClientId { get; set; } public virtual Client Client { get; set; } = null!; diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Models/Service.cs b/BeautySalonView/BeautySalonDatabaseImplement/Models/Service.cs index 13c9f1a..ced60e9 100644 --- a/BeautySalonView/BeautySalonDatabaseImplement/Models/Service.cs +++ b/BeautySalonView/BeautySalonDatabaseImplement/Models/Service.cs @@ -59,7 +59,7 @@ namespace BeautySalonDatabaseImplement.Models Id = model.Id, ServiceName = model.ServiceName, ServicePrice = model.ServicePrice, - Cosmetics = model.ServiceCosmetics.Select(x => new ServiceCosmetic() + Cosmetics = model.ServiceCosmetic.Select(x => new ServiceCosmetic() { Cosmetic = context.Cosmetics.First(y => y.Id == x.Cosmetic.Id), ServiceCosmeticCount = x.Count @@ -80,7 +80,7 @@ namespace BeautySalonDatabaseImplement.Models Id = Id, ServiceName = ServiceName, ServicePrice = ServicePrice, - ServiceCosmetics = ServiceCosmetics, + ServiceCosmetic = ServiceCosmetics, StaffMemberId = StaffMemberId, }; @@ -92,7 +92,7 @@ namespace BeautySalonDatabaseImplement.Models context.ServiceCosmetics .RemoveRange(serviceSosmetics); var service = context.Services.First(x => x.Id == Id); - foreach (var record in model.ServiceCosmetics) + foreach (var record in model.ServiceCosmetic) { context.ServiceCosmetics.Add(new ServiceCosmetic {