Ejemplo n.º 1
0
        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"));
        }