diff --git a/Hotel/HotelOrganiserApp/Controllers/HomeController.cs b/Hotel/HotelOrganiserApp/Controllers/HomeController.cs index e07a375..4ccb63a 100644 --- a/Hotel/HotelOrganiserApp/Controllers/HomeController.cs +++ b/Hotel/HotelOrganiserApp/Controllers/HomeController.cs @@ -1,6 +1,11 @@ -using DocumentFormat.OpenXml.Wordprocessing; +using DocumentFormat.OpenXml.Drawing.Diagrams; +using DocumentFormat.OpenXml.Wordprocessing; +using HotelBusinessLogic.BusinessLogics; using HotelContracts.BindingModels; +using HotelContracts.BusinessLogicsContracts; +using HotelContracts.SearchModels; using HotelContracts.ViewModels; +using HotelDataModels.Models; using HotelOrganiserApp.Models; using Microsoft.AspNetCore.Mvc; using System.Diagnostics; @@ -11,7 +16,7 @@ namespace HotelOrganiserApp.Controllers { private readonly ILogger _logger; - public HomeController(ILogger logger) + public HomeController(ILogger logger) { _logger = logger; } @@ -260,11 +265,12 @@ namespace HotelOrganiserApp.Controllers { return Redirect("~/Home/Enter"); } + ViewBag.Member = APIClient.GetRequest>($"api/member/getmemberlist?organiserId={APIClient.Organiser.Id}"); return View(); } [HttpPost] - public void CreateMealPlan(string mealPlanName, double mealPlanPrice) + public void CreateMealPlan(string mealPlanName, double mealPlanPrice, List memberselect) { if (APIClient.Organiser == null) { @@ -282,13 +288,20 @@ namespace HotelOrganiserApp.Controllers { throw new Exception("Стоимость не может быть отрицательной"); } - APIClient.PostRequest("api/mealplan/createmealplan", new MealPlanBindingModel + + Dictionary member = new Dictionary(); + foreach (int members in memberselect) + { + member.Add(members, new MemberSearchModel { Id = members } as IMemberModel); + } + APIClient.PostRequest("api/mealplan/createmealplan", new MealPlanBindingModel { MealPlanName = mealPlanName, - MealPlanPrice = mealPlanPrice, - OrganiserId = APIClient.Organiser.Id, - }); - Response.Redirect("ListMealPlans"); + MealPlanPrice = mealPlanPrice, + OrganiserId = APIClient.Organiser.Id, + MealPlanMembers = member + }); + Response.Redirect("ListMealPlans"); } public IActionResult UpdateMealPlan() @@ -298,11 +311,12 @@ namespace HotelOrganiserApp.Controllers return Redirect("~/Home/Enter"); } ViewBag.MealPlans = APIClient.GetRequest>($"api/mealplan/getmealplanlist?organiserId={APIClient.Organiser.Id}"); + ViewBag.Member = APIClient.GetRequest>($"api/member/getmemberlist?organiserId={APIClient.Organiser.Id}"); return View(); } [HttpPost] - public void UpdateMealPlan(int mealPlan, string mealPlanName, double mealPlanPrice) + public void UpdateMealPlan(int mealPlan, string mealPlanName, double mealPlanPrice, List memberselect) { if (APIClient.Organiser == null) { @@ -320,12 +334,18 @@ namespace HotelOrganiserApp.Controllers { throw new Exception("Стоимость не может быть отрицательной"); } + Dictionary member = new Dictionary(); + foreach (int members in memberselect) + { + member.Add(members, new MemberSearchModel { Id = members } as IMemberModel); + } APIClient.PostRequest("api/mealplan/updatemealplan", new MealPlanBindingModel { Id = mealPlan, MealPlanName = mealPlanName, MealPlanPrice = mealPlanPrice, - OrganiserId = APIClient.Organiser.Id + OrganiserId = APIClient.Organiser.Id, + MealPlanMembers = member }); Response.Redirect("ListMealPlans"); } diff --git a/Hotel/HotelOrganiserApp/Program.cs b/Hotel/HotelOrganiserApp/Program.cs index 6c5878a..fd9a42f 100644 --- a/Hotel/HotelOrganiserApp/Program.cs +++ b/Hotel/HotelOrganiserApp/Program.cs @@ -7,6 +7,9 @@ using HotelDataBaseImplement.Implemets; using HotelOrganiserApp; var builder = WebApplication.CreateBuilder(args); +builder.Services.AddTransient(); +builder.Services.AddTransient(); +builder.Services.AddTransient(); builder.Services.AddTransient(); builder.Services.AddTransient(); builder.Services.AddTransient(); diff --git a/Hotel/HotelOrganiserApp/Views/Home/CreateMealPlan.cshtml b/Hotel/HotelOrganiserApp/Views/Home/CreateMealPlan.cshtml index dd01aef..88f6563 100644 --- a/Hotel/HotelOrganiserApp/Views/Home/CreateMealPlan.cshtml +++ b/Hotel/HotelOrganiserApp/Views/Home/CreateMealPlan.cshtml @@ -1,4 +1,7 @@ -@{ +@using HotelContracts.ViewModels; +@using HotelDataModels.Models; + +@{ ViewData["Title"] = "CreateMealPlan"; } @@ -23,6 +26,18 @@ class="form-control" step="1" />
+
+
Участники:
+
+ +
+
+
diff --git a/Hotel/HotelOrganiserApp/Views/Home/UpdateMealPlan.cshtml b/Hotel/HotelOrganiserApp/Views/Home/UpdateMealPlan.cshtml index 683ba7b..e5d9f4b 100644 --- a/Hotel/HotelOrganiserApp/Views/Home/UpdateMealPlan.cshtml +++ b/Hotel/HotelOrganiserApp/Views/Home/UpdateMealPlan.cshtml @@ -36,28 +36,16 @@ name="mealPlanPrice" class="form-control" /> -
- - - - - - - - - - - - -
- Фамилия - - Имя - - Отчество - - Номер телефона -
+
+
Участники:
+
+ +