public IActionResult Hotel(HotelViewModel viewModel) { if (viewModel.PostType == "addReserve") { var room = viewModel.NumberOfRoom; var roomComfort = _dbContext.HotelInformations.FirstOrDefault(u => u.NumberOfRoom == room).ComfortableOfRoom; var price = _dbContext.HotelInformations.FirstOrDefault(u => u.NumberOfRoom == room).PriceForRoom; var countDay = (viewModel.EndReserv - viewModel.StartReserv).Days + 1; var summ = countDay * price; viewModel.SummReserv = summ; var reserve = new HotelReservation(); reserve.NumberOfRoom = viewModel.NumberOfRoom; reserve.StartReserv = viewModel.StartReserv; reserve.EndReserv = viewModel.EndReserv; reserve.DateReserv = DateTime.Now; reserve.GuestGuid = UserID; reserve.GuestEmail = UserEmail; reserve.SummReserv = summ; reserve.GuestName = _dbContext.ClaimsDataUsers.FirstOrDefault(u => u.UserEmail == UserEmail.ToString()).UserName; _dbContext.HotelReservations.Add(reserve); viewModel.ListAllReserved.Add(reserve); viewModel.ListUserReserved.Add(reserve); viewModel.RoomReserved = true; viewModel.AlertType = "alertAddReserve"; string textToEmail = "Уважаемый " + reserve.GuestName + "! Вы успешно забронировали номер! " + "Информация о Вашей брони: Номер комнаты: " + room + ". Тип номера: " + roomComfort + ". " + "Дата заезда: " + viewModel.StartReserv + ". Дата отъезда: " + viewModel.EndReserv + ". Всего по оплате: " + summ + "грн. " + "Ждем Вас в нашем отеле и желаем счастливого отдыха!"; // Send Mail SendEMail(UserEmail, "Бронирование номера", textToEmail, "party.gif"); } if (viewModel.PostType == "delReserve") { var reserveForDelete = _dbContext.HotelReservations.FirstOrDefault(u => u.Id == viewModel.IdForDelete); if (reserveForDelete != null) { _dbContext.HotelReservations.Remove(reserveForDelete); viewModel.AlertType = "alertDelReserve"; string guestName = _dbContext.ClaimsDataUsers.FirstOrDefault(u => u.UserEmail == UserEmail.ToString()).UserName; var dateStart = reserveForDelete.StartReserv; var dateEnd = reserveForDelete.EndReserv; var roomNumber = reserveForDelete.NumberOfRoom; var roomComfort = _dbContext.HotelInformations.FirstOrDefault(u => u.NumberOfRoom == roomNumber).ComfortableOfRoom; string textToEmail = "Уважаемый " + guestName + "! Уведомляем, что Ваша бронь отеля отменена! " + "Информация о Вашей отмененной брони: Номер комнаты: " + roomNumber + ". Тип номера: " + roomComfort + ". " + "Дата заезда: " + dateStart + ". Дата отъезда: " + dateEnd + ". Надеемся, что еще увидимся с Вами! Всегда ждем Вас в нашем отеле и желаем счастливого отдыха!"; // Send Mail SendEMail(UserEmail, "Отмена бронирования номера", textToEmail, "spongebob.gif"); } } _dbContext.SaveChanges(); viewModel = CreateModelForHotel(viewModel); return(View("~/Views/Widgets/Hotel.cshtml", viewModel)); }