Beispiel #1
0
        public IActionResult Create(int id)
        {
            var moveIn  = HttpContext.Session.GetString("MoveIn");
            var moveOut = HttpContext.Session.GetString("MoveOut");

            Apartment apartmentToReserve = this._db.Apartments
                                           .Include(apartment => apartment.Address)
                                           .Include(apartment => apartment.Description)
                                           .Include(apartment => apartment.Photos)
                                           .FirstOrDefault(apartment => apartment.Id == id);

            var guestId = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;

            Reservation newReservation = new Reservation {
                OwnerId     = apartmentToReserve.UserId,
                GuestId     = guestId,
                ApartmentId = apartmentToReserve.Id,
                MoveIn      = Convert.ToDateTime(moveIn),
                MoveOut     = Convert.ToDateTime(moveOut),
                Days        = Convert.ToDateTime(moveOut).Subtract(Convert.ToDateTime(moveIn)).Days
            };

            newReservation.RentalSum = newReservation.CalcRentalSum(apartmentToReserve);


            this._db.Reservations.Add(newReservation);
            this._db.SaveChanges();

            newReservation.Apartment = apartmentToReserve;
            return(View("Create", newReservation));
        }