public IActionResult Booking(RoomReservationModel Model) { RoomReservationModel roomReservation = new RoomReservationModel(); var roomDetails = GetRooms().Where(r => r.RoomId == Model.RoomId).FirstOrDefault(); roomReservation.HotelId = roomDetails.HotelsModel.HotelId; roomReservation.RoomId = roomDetails.RoomId; roomReservation.Rate = roomDetails.PricePerNight; roomReservation.CheckIn = Model.CheckIn; roomReservation.CheckOut = Model.CheckOut; roomReservation.Guests = 1; roomReservation.UserId = GetUserId(); roomReservation.TotalBillAmount = Model.TotalBillAmount; roomReservation.RoomReservationDate = DateTime.Now; _bokingDBContext.Add(roomReservation); _bokingDBContext.SaveChanges(); SendEmail(GetUserId(), roomDetails.HotelsModel.HotelName, roomDetails.PricePerNight, roomDetails.Beds, Model.CheckIn, Model.CheckOut, Model.TotalBillAmount); return(RedirectToAction("Confirmation")); }
public async Task <IActionResult> Create(UserModel model) { try { model.Isactive = true; _bokingDBContext.Add(model); _bokingDBContext.SaveChanges(); var claims = new List <Claim> { new Claim(ClaimTypes.Name, model.Username), new Claim(ClaimTypes.Upn, model.UserId.ToString()) }; var claimsIdentity = new ClaimsIdentity( claims, CookieAuthenticationDefaults.AuthenticationScheme); var authProperties = new AuthenticationProperties { AllowRefresh = false, ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(60), IsPersistent = false, IssuedUtc = DateTime.Now }; await HttpContext.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties); } catch (Exception ex) { return(RedirectToAction("Error", "Rooms", new { ErrorMessage = ex.Message })); } return(RedirectToAction("Index", "Rooms")); }