Exemple #1
0
 public DateCheckFormModel GetDateCheckFormModel(SummaryAndPersonalInfoModel summaryModel)
 {
     return(new DateCheckFormModel
     {
         Date = summaryModel.Date,
         HallId = summaryModel.HallId,
         RentTime = summaryModel.RentTime,
         TotalPrice = summaryModel.HallRentalPrice
     });
 }
Exemple #2
0
        public async Task <IActionResult> Summary(SummaryAndPersonalInfoModel summaryModel)
        {
            if (!ModelState.IsValid)
            {
                var dateCheckModel = GetDateCheckFormModel(summaryModel);

                TempData.AddErrorMessage("Invalid input. Please fill in all required fields");
                return(RedirectToAction("PriceCheck", dateCheckModel));
            }

            if (summaryModel.HallId == 0 || summaryModel.Date == null)
            {
                var dateCheckModel = GetDateCheckFormModel(summaryModel);

                TempData.AddErrorMessage("Invalid input. Please fill in all required fields");
                return(RedirectToAction("PriceCheck", dateCheckModel));
            }

            if (summaryModel.ParkingLotSecurityService == true &&
                summaryModel.ParkingLotSecurityPrice <= 0)
            {
                var dateCheckModel = GetDateCheckFormModel(summaryModel);

                TempData.AddErrorMessage("Invalid input. Please fill in all required fields");
                return(RedirectToAction("PriceCheck", dateCheckModel));
            }

            if (summaryModel.UsingTablesAndChairs == true &&
                summaryModel.TablesAndChairsPrice <= 0 &&
                summaryModel.TablesAndChairsCostPerPerson > 0)
            {
                var dateCheckModel = GetDateCheckFormModel(summaryModel);

                TempData.AddErrorMessage("Invalid input. Please fill in all required fields");
                return(RedirectToAction("PriceCheck", dateCheckModel));
            }

            Hall   currentHall     = this.hallsServices.GetHallById(summaryModel.HallId);
            string rentTimeDisplay = eventsServices.GetRentTimeDisplay(summaryModel.RentTime);



            decimal securityDeposit = eventsServices.CalculateSecurityDeposit(summaryModel.RentTime, summaryModel.EventEnd, summaryModel.Date, currentHall.SecurityDepositBefore10pm, currentHall.SecurityDepositAfter10pm);


            var summaryVM = new SummaryAndPerInfoVM()
            {
                HallId                       = summaryModel.HallId,
                HallName                     = currentHall.Name,
                Date                         = summaryModel.Date,
                RentTime                     = summaryModel.RentTime,
                RentTimeDisplay              = rentTimeDisplay,
                EventEnd                     = summaryModel.EventEnd,
                EventStart                   = summaryModel.EventStart,
                NumberOfPeople               = summaryModel.NumberOfPeople,
                UsingTablesAndChairs         = summaryModel.UsingTablesAndChairs,
                TablesAndChairsCostPerPerson = currentHall.TablesAndChairsCostPerPerson,
                SecurityCostPerHour          = summaryModel.SecurityCostPerHour,
                ParkingLotSecurityService    = summaryModel.ParkingLotSecurityService,
                ParkingLotSecurityHours      = summaryModel.ParkingLotSecurityHours,
                SecurityStartTime            = summaryModel.SecurityStartTime,
                SecurityEndTime              = summaryModel.SecurityEndTime,

                HallRentalPrice         = summaryModel.HallRentalPrice,
                TablesAndChairsPrice    = summaryModel.TablesAndChairsPrice,
                ParkingLotSecurityPrice = summaryModel.ParkingLotSecurityPrice,
                SecurityDeposit         = securityDeposit,
                TotalPrice = summaryModel.TotalPrice,
            };

            User currentUser = await this.userManager.GetUserAsync(User);

            if (currentUser != null)
            {
                summaryVM.FullName    = currentUser.FirstName + " " + currentUser.LastName;
                summaryVM.PhoneNumber = currentUser.PhoneNumber;
                summaryVM.Email       = currentUser.Email;
            }


            return(View(summaryVM));
        }