示例#1
0
        public IActionResult Edit(int id)
        {
            bool eventExists = this.eventAdminService.EventExists(id);

            if (!eventExists)
            {
                TempData.AddErrorMessage("The event does not exist");
                return(RedirectToAction(nameof(EventRequests)));
            }

            EditEventServiceModel vm = this.eventAdminService.GetEventByIdForEdit(id);

            return(View(vm));
        }
示例#2
0
        public IActionResult Edit(int id, EditEventFormModel editFormModel)
        {
            bool eventExists = this.eventAdminService.EventExists(id);

            if (!eventExists)
            {
                TempData.AddErrorMessage("The event does not exist");
                return(RedirectToAction(nameof(EventRequests)));
            }

            if (!ModelState.IsValid)
            {
                EditEventServiceModel editServiceModel = GetEventEditServiceModel(editFormModel);
                return(View(editServiceModel));
            }

            bool hallExists = this.hallAdminService.Exists(editFormModel.HallId);

            if (!hallExists)
            {
                EditEventServiceModel editServiceModel = GetEventEditServiceModel(editFormModel);
                TempData.AddErrorMessage($"The Hall with ID {editServiceModel.HallId} does not exist");
                return(View(editServiceModel));
            }

            if (editFormModel.EventDate.Date != editFormModel.EventStart.Date)
            {
                EditEventServiceModel editServiceModel = GetEventEditServiceModel(editFormModel);
                TempData.AddErrorMessage($"EventDate and EventStart should be on the same day");
                return(View(editServiceModel));
            }

            if (editFormModel.EventDate.Date != editFormModel.SecurityStartTime.Date)
            {
                EditEventServiceModel editServiceModel = GetEventEditServiceModel(editFormModel);
                TempData.AddErrorMessage($"EventDate and SecurityStartTime should be on the same day");
                return(View(editServiceModel));
            }

            this.eventAdminService.EditEvent(id,
                                             editFormModel.Email,
                                             editFormModel.PhoneNumber,
                                             editFormModel.FullName,
                                             editFormModel.HallId,
                                             editFormModel.EventDate,
                                             editFormModel.RentTime,
                                             editFormModel.EventStart,
                                             editFormModel.EventEnd,
                                             editFormModel.NumberOfPeople,
                                             editFormModel.TypeOfEvent,
                                             editFormModel.Description,
                                             editFormModel.Caterer,
                                             editFormModel.UsingTablesAndChairs,
                                             editFormModel.TablesAndChairsCostPerPerson,
                                             editFormModel.ParkingLotSecurityService,
                                             editFormModel.ParkingLotSecurityHours,
                                             editFormModel.SecurityStartTime,
                                             editFormModel.SecurityEndTime,
                                             editFormModel.SecurityCostPerHour,
                                             editFormModel.AdditionalCharges,
                                             editFormModel.AdditionalChargesInformation,
                                             editFormModel.HallRentalPrice,
                                             editFormModel.TablesAndChairsPrice,
                                             editFormModel.ParkingLotSecurityPrice,
                                             editFormModel.SecurityDeposit,
                                             editFormModel.TotalPrice);


            TempData.AddSuccessMessage($"Event {editFormModel.Id} has been edited successfully");


            return(RedirectToAction(nameof(EventRequests)));
        }