From cf351894ee51b36c82f2d61a3b4443b87fabfbfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Wed, 1 May 2024 17:07:23 +0400 Subject: [PATCH] fix view update --- .../ViewModels/ConferenceBookingViewModel.cs | 2 +- .../Controllers/HomeController.cs | 82 +++++++++++++++---- .../HotelHeadwaiterApp.csproj | 1 + .../Views/Home/ListConferenceBookings.cshtml | 4 +- .../Views/Home/ListLunches.cshtml | 8 +- .../Views/Home/ListRooms.cshtml | 8 +- .../Views/Home/RoomMealPlans.cshtml | 28 +++++++ .../Views/Home/UpdateConferenceBooking.cshtml | 5 +- .../Views/Home/UpdateLunch.cshtml | 22 ++--- .../Views/Shared/_Layout.cshtml | 3 + .../Controllers/HomeController.cs | 16 ++-- .../Controllers/RoomController.cs | 22 ++++- 12 files changed, 151 insertions(+), 50 deletions(-) create mode 100644 Hotel/HotelHeadwaiterApp/Views/Home/RoomMealPlans.cshtml diff --git a/Hotel/HotelContracts/ViewModels/ConferenceBookingViewModel.cs b/Hotel/HotelContracts/ViewModels/ConferenceBookingViewModel.cs index 8b36dc4..2a50328 100644 --- a/Hotel/HotelContracts/ViewModels/ConferenceBookingViewModel.cs +++ b/Hotel/HotelContracts/ViewModels/ConferenceBookingViewModel.cs @@ -10,7 +10,7 @@ namespace HotelContracts.ViewModels public int HeadwaiterId { get; set; } public int Id { get; set; } - [DisplayName("Дата начала конференции")] + [DisplayName("Дата начала бронирования")] public DateTime? BookingDate { get; set; } public string ConfName { get; set; } = string.Empty; diff --git a/Hotel/HotelHeadwaiterApp/Controllers/HomeController.cs b/Hotel/HotelHeadwaiterApp/Controllers/HomeController.cs index 2731524..4d6be28 100644 --- a/Hotel/HotelHeadwaiterApp/Controllers/HomeController.cs +++ b/Hotel/HotelHeadwaiterApp/Controllers/HomeController.cs @@ -1,4 +1,5 @@ -using DocumentFormat.OpenXml.Office2010.Excel; +using DocumentFormat.OpenXml.Drawing.Spreadsheet; +using DocumentFormat.OpenXml.Office2010.Excel; using HostrelHeadwaiterApp; using HotelContracts.BindingModels; using HotelContracts.SearchModels; @@ -206,6 +207,22 @@ namespace HotelHeadwaiterApp.Controllers Response.Redirect("ListLunches"); } + [HttpGet] + public LunchViewModel? GetLunch(int lunchId) + { + if (APIClient.Headwaiter == null) + { + throw new Exception("Необходима авторизация"); + } + var result = APIClient.GetRequest($"api/lunch/getlunch?lunchId={lunchId}"); + if (result == null) + { + return default; + } + + return result; + } + public IActionResult DeleteLunch() { if (APIClient.Headwaiter == null) @@ -380,23 +397,23 @@ namespace HotelHeadwaiterApp.Controllers return View(APIClient.GetRequest>($"api/conferencebooking/getconferenceBookings?headwaiterId={APIClient.Headwaiter.Id}")); } - [HttpGet] - public Tuple>? GetConferenceBooking(int conferencebookingId) - { - if (APIClient.Headwaiter == null) - { - throw new Exception("Необходима авторизация"); - } - var result = APIClient.GetRequest>>($"api/conferencebooking/getconferencebooking?conferencebookingId={conferencebookingId}"); - if (result == null) - { - return default; - } + [HttpGet] + public Tuple>? GetConferenceBooking(int conferencebookingId) + { + if (APIClient.Headwaiter == null) + { + throw new Exception("Необходима авторизация"); + } + var result = APIClient.GetRequest>>($"api/conferencebooking/getconferencebooking?conferencebookingId={conferencebookingId}"); + if (result == null) + { + return default; + } - return result; - } + return result; + } - public IActionResult CreateConferenceBooking() + public IActionResult CreateConferenceBooking() { if (APIClient.Headwaiter == null) { @@ -494,7 +511,38 @@ namespace HotelHeadwaiterApp.Controllers Response.Redirect("ListConferenceBookings"); } - [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + public IActionResult RoomMealPlans() + { + if (APIClient.Headwaiter == null) + { + return Redirect("~/Home/Enter"); + } + ViewBag.Rooms = APIClient.GetRequest>($"api/room/getrooms?headwaiterId={APIClient.Headwaiter.Id}"); + ViewBag.MealPlans = APIClient.GetRequest>($"api/mealplan/getmealplans"); + return View(); + } + + [HttpPost] + public void RoomMealPlans(int room, int mealplan) + { + if (APIClient.Headwaiter == null) + { + throw new Exception("Вы как сюда попали? Сюда вход только авторизованным"); + } + var roomElem = APIClient.GetRequest($"api/room/getroombyid?roomId={room}"); + APIClient.PostRequest("api/room/updateroom", new RoomBindingModel + { + Id = room, + HeadwaiterId = APIClient.Headwaiter.Id, + RoomName = roomElem.RoomName, + RoomFrame = roomElem.RoomFrame, + RoomPrice = roomElem.RoomPrice, + MealPlanId = mealplan + }); + Response.Redirect("Index"); + } + + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public IActionResult Error() { return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); diff --git a/Hotel/HotelHeadwaiterApp/HotelHeadwaiterApp.csproj b/Hotel/HotelHeadwaiterApp/HotelHeadwaiterApp.csproj index cd95a8b..5054d2d 100644 --- a/Hotel/HotelHeadwaiterApp/HotelHeadwaiterApp.csproj +++ b/Hotel/HotelHeadwaiterApp/HotelHeadwaiterApp.csproj @@ -8,6 +8,7 @@ + diff --git a/Hotel/HotelHeadwaiterApp/Views/Home/ListConferenceBookings.cshtml b/Hotel/HotelHeadwaiterApp/Views/Home/ListConferenceBookings.cshtml index a733e66..4a7b4a9 100644 --- a/Hotel/HotelHeadwaiterApp/Views/Home/ListConferenceBookings.cshtml +++ b/Hotel/HotelHeadwaiterApp/Views/Home/ListConferenceBookings.cshtml @@ -33,7 +33,7 @@ Номер - Название зала + Название помещения Название конференций @@ -53,7 +53,7 @@ @if (item.ConferenceId == null) { - Зал свободен + Вакантно } diff --git a/Hotel/HotelHeadwaiterApp/Views/Home/ListLunches.cshtml b/Hotel/HotelHeadwaiterApp/Views/Home/ListLunches.cshtml index ea1d69b..683bd7e 100644 --- a/Hotel/HotelHeadwaiterApp/Views/Home/ListLunches.cshtml +++ b/Hotel/HotelHeadwaiterApp/Views/Home/ListLunches.cshtml @@ -30,10 +30,10 @@ Номер - Цена обеда + Название обеда - Название обеда + Цена обеда @@ -45,10 +45,10 @@ @Html.DisplayFor(modelItem => item.Id) - @Html.DisplayFor(modelItem => item.LunchPrice) + @Html.DisplayFor(modelItem => item.LunchName) - @Html.DisplayFor(modelItem => item.LunchName) + @Html.DisplayFor(modelItem => item.LunchPrice) } diff --git a/Hotel/HotelHeadwaiterApp/Views/Home/ListRooms.cshtml b/Hotel/HotelHeadwaiterApp/Views/Home/ListRooms.cshtml index 5d580d2..df3aa10 100644 --- a/Hotel/HotelHeadwaiterApp/Views/Home/ListRooms.cshtml +++ b/Hotel/HotelHeadwaiterApp/Views/Home/ListRooms.cshtml @@ -33,10 +33,10 @@ Номер - Корпус + Название - Название + Корпус Цена @@ -51,10 +51,10 @@ @Html.DisplayFor(modelItem => item.Id) - @Html.DisplayFor(modelItem => item.RoomFrame) + @Html.DisplayFor(modelItem => item.RoomName) - @Html.DisplayFor(modelItem => item.RoomName) + @Html.DisplayFor(modelItem => item.RoomFrame) @Html.DisplayFor(modelItem => item.RoomPrice) diff --git a/Hotel/HotelHeadwaiterApp/Views/Home/RoomMealPlans.cshtml b/Hotel/HotelHeadwaiterApp/Views/Home/RoomMealPlans.cshtml new file mode 100644 index 0000000..b96e89c --- /dev/null +++ b/Hotel/HotelHeadwaiterApp/Views/Home/RoomMealPlans.cshtml @@ -0,0 +1,28 @@ +@using HotelContracts.ViewModels; + +@{ + ViewData["Title"] = "RoomMealPlans"; +} + +
+

Связывание номера и плана питания

+
+
+
+
Номер:
+
+ +
+
+
+
План питания:
+
+ +
+
+
+
+
+
+
+ diff --git a/Hotel/HotelHeadwaiterApp/Views/Home/UpdateConferenceBooking.cshtml b/Hotel/HotelHeadwaiterApp/Views/Home/UpdateConferenceBooking.cshtml index 62e50d5..bfe863e 100644 --- a/Hotel/HotelHeadwaiterApp/Views/Home/UpdateConferenceBooking.cshtml +++ b/Hotel/HotelHeadwaiterApp/Views/Home/UpdateConferenceBooking.cshtml @@ -49,10 +49,11 @@ $.ajax({ method: "GET", url: "/Home/GetConferenceBooking", - data: { conferenceBookingId: conferenceBooking }, + data: { conferencebookingId: conferenceBooking }, success: function (result) { $('#nameHall').val(result.item1.nameHall); - $('#bookingDate').val(result.item1.bookingDate); + var bookingDate = new Date(result.item1.bookingDate).toISOString().slice(0, 16); + $('#bookingDate').val(bookingDate); $.map(result.item2, function (n) { console.log("#" + n); $("#" + n).attr("selected", "selected") diff --git a/Hotel/HotelHeadwaiterApp/Views/Home/UpdateLunch.cshtml b/Hotel/HotelHeadwaiterApp/Views/Home/UpdateLunch.cshtml index bc97abc..1add568 100644 --- a/Hotel/HotelHeadwaiterApp/Views/Home/UpdateLunch.cshtml +++ b/Hotel/HotelHeadwaiterApp/Views/Home/UpdateLunch.cshtml @@ -16,19 +16,19 @@
+ id="lunchName" + placeholder="Введите название обеда" + name="lunchName" + class="form-control" />
+ id="lunchPrice" + placeholder="Введите стоимость обеда" + name="lunchPrice" + class="form-control" + step="1" />

@@ -48,8 +48,8 @@ url: "/Home/GetLunch", data: { lunchId: lunch }, success: function (result) { - $('#lunchName').val(result.LunchName); - $('#lunchPrice').val(result.LunchPrice); + $('#lunchName').val(result.lunchName); + $('#lunchPrice').val(result.lunchPrice); } }); }; diff --git a/Hotel/HotelHeadwaiterApp/Views/Shared/_Layout.cshtml b/Hotel/HotelHeadwaiterApp/Views/Shared/_Layout.cshtml index ba0128f..69d86ed 100644 --- a/Hotel/HotelHeadwaiterApp/Views/Shared/_Layout.cshtml +++ b/Hotel/HotelHeadwaiterApp/Views/Shared/_Layout.cshtml @@ -31,6 +31,9 @@ + diff --git a/Hotel/HotelOrganiserApp/Controllers/HomeController.cs b/Hotel/HotelOrganiserApp/Controllers/HomeController.cs index 4ccb63a..42121cd 100644 --- a/Hotel/HotelOrganiserApp/Controllers/HomeController.cs +++ b/Hotel/HotelOrganiserApp/Controllers/HomeController.cs @@ -125,7 +125,7 @@ namespace HotelOrganiserApp.Controllers { return Redirect("~/Home/Enter"); } - return View(APIClient.GetRequest>($"api/member/getmemberlist?organiserId={APIClient.Organiser.Id}")); + return View(APIClient.GetRequest>($"api/member/getmembers?organiserId={APIClient.Organiser.Id}")); } public IActionResult CreateMember() @@ -165,7 +165,7 @@ namespace HotelOrganiserApp.Controllers { return Redirect("~/Home/Enter"); } - ViewBag.Members = APIClient.GetRequest>($"api/member/getmemberlist?organiserId={APIClient.Organiser.Id}"); + ViewBag.Members = APIClient.GetRequest>($"api/member/getmembers?organiserId={APIClient.Organiser.Id}"); return View(); } @@ -212,7 +212,7 @@ namespace HotelOrganiserApp.Controllers { return Redirect("~/Home/Enter"); } - ViewBag.Members = APIClient.GetRequest>($"api/member/getmemberlist?organiserId={APIClient.Organiser.Id}"); + ViewBag.Members = APIClient.GetRequest>($"api/member/getmembers?organiserId={APIClient.Organiser.Id}"); return View(); } @@ -256,7 +256,7 @@ namespace HotelOrganiserApp.Controllers { return Redirect("~/Home/Enter"); } - return View(APIClient.GetRequest>($"api/mealplan/getmealplanlist?organiserId={APIClient.Organiser.Id}")); + return View(APIClient.GetRequest>($"api/mealplan/getmealplans?organiserId={APIClient.Organiser.Id}")); } public IActionResult CreateMealPlan() @@ -265,7 +265,7 @@ namespace HotelOrganiserApp.Controllers { return Redirect("~/Home/Enter"); } - ViewBag.Member = APIClient.GetRequest>($"api/member/getmemberlist?organiserId={APIClient.Organiser.Id}"); + ViewBag.Member = APIClient.GetRequest>($"api/member/getmembers?organiserId={APIClient.Organiser.Id}"); return View(); } @@ -310,8 +310,8 @@ 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}"); + ViewBag.MealPlans = APIClient.GetRequest>($"api/mealplan/getmealplans?organiserId={APIClient.Organiser.Id}"); + ViewBag.Member = APIClient.GetRequest>($"api/member/getmembers?organiserId={APIClient.Organiser.Id}"); return View(); } @@ -385,7 +385,7 @@ namespace HotelOrganiserApp.Controllers { return Redirect("~/Home/Enter"); } - ViewBag.MealPlans = APIClient.GetRequest>($"api/mealplan/getmealplanlist?organiserId={APIClient.Organiser.Id}"); + ViewBag.MealPlans = APIClient.GetRequest>($"api/mealplan/getmealplans?organiserId={APIClient.Organiser.Id}"); return View(); } diff --git a/Hotel/HotelRestApi/Controllers/RoomController.cs b/Hotel/HotelRestApi/Controllers/RoomController.cs index 6443fd4..2f4ba96 100644 --- a/Hotel/HotelRestApi/Controllers/RoomController.cs +++ b/Hotel/HotelRestApi/Controllers/RoomController.cs @@ -68,7 +68,27 @@ namespace HotelRestApi.Controllers } } - [HttpPost] + [HttpGet] + public RoomViewModel GetRoomById(int roomId) + { + try + { + var elem = _room.ReadElement(new RoomSearchModel { Id = roomId }); + if (elem == null) + { + return null; + } + elem.RoomLunches = null!; + return elem; + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения комнаты по id={Id}", roomId); + throw; + } + } + + [HttpPost] public void CreateRoom(RoomBindingModel model) { try