// // GET: /Scheduling/MassRegistration/ public ActionResult Create(long eventId, string fileName = "") { var model = new MassRegistrationListModel { EventId = eventId }; _corporateUploadHelper.SetEventDetails(model); _corporateUploadHelper.SetDropDownInfo(model); if (!string.IsNullOrEmpty(fileName)) { model.Registrations = _corporateUploadHelper.GetRegistraionModels(fileName); } return(View(model)); }
public void SetEventDetails(MassRegistrationListModel model) { var eventData = _eventService.GetById(model.EventId); model.EventName = eventData.Name; model.EventDate = eventData.EventDate; model.RegisteredCustomersCount = _appointmentRepository.GetAllAppointmentsForEvent(model.EventId).Count(); model.EventAddress = new Address() { StreetAddressLine1 = eventData.StreetAddressLine1, StreetAddressLine2 = eventData.StreetAddressLine2, City = eventData.City, State = eventData.State, ZipCode = new ZipCode(eventData.Zip) }; }
public void SetDropDownInfo(MassRegistrationListModel model) { var eventpackges = _eventPackageRepository.GetPackagesForEvent(model.EventId); if (eventpackges != null && eventpackges.Count() > 0) { model.Packages = eventpackges.Select(ep => ep.Package).OrderByDescending(ep => ep.Price).ToArray(); } model.Appointments = _slotService.GetSlots(model.EventId, AppointmentStatus.Free); model.Countries = _countryRepository.GetAll(); model.States = _stateRepository.GetAllStates(); model.Races = Race.None.GetNameValuePairs(); var pairs = Gender.Male.GetNameValuePairs(); model.Genders = pairs.Where(p => p.FirstValue != (int)Gender.Unspecified).Select(p => p).ToList(); }
public ActionResult Create(MassRegistrationListModel model, bool saveAndContinue) { var registrationValidator = IoC.Resolve <MassRegistrationEditModelValidator>(); var invalidRegistrationList = new List <MassRegistrationEditModel>(); var eventData = _eventRepository.GetById(model.EventId); foreach (var registrationEditModel in model.Registrations) { if (registrationEditModel.HomeNumber != null && !string.IsNullOrEmpty(registrationEditModel.HomeNumber.ToString())) { registrationEditModel.HomeNumber = PhoneNumber.Create(registrationEditModel.HomeNumber.ToNumber().ToString(), PhoneNumberType.Home); } var result = CorporateUploadHelper.ValidateModel(registrationValidator, registrationEditModel); if (string.IsNullOrEmpty(result)) { try { using (var scope = new TransactionScope()) { if (!_customerRegistrationService.RegisterCustomer(registrationEditModel, model.EventId, eventData.EventType)) { invalidRegistrationList.Add(registrationEditModel); } scope.Complete(); } } catch (Exception ex) { registrationEditModel.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("System Error:" + ex.Message); invalidRegistrationList.Add(registrationEditModel); } } else { registrationEditModel.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage(result); invalidRegistrationList.Add(registrationEditModel); } } if (invalidRegistrationList.Count > 0) { model.Registrations = invalidRegistrationList; _corporateUploadHelper.SetEventDetails(model); _corporateUploadHelper.SetDropDownInfo(model); return(View(model)); } if (!saveAndContinue) { var currentSession = IoC.Resolve <ISessionContext>().UserSession; if (currentSession.CurrentOrganizationRole.CheckRole((long)Roles.Technician)) { Response.RedirectUser("/Scheduling/EventCustomerList/Index?id=" + model.EventId); return(null); } if (currentSession.CurrentOrganizationRole.CheckRole((long)Roles.CorporateAccountCoordinator)) { Response.RedirectUser("/Users/Dashboard/CorporateAccountCoordinator"); return(null); } Response.RedirectUser("/App/Common/EventDetails.aspx?EventId=" + model.EventId); return(null); } var newModel = new MassRegistrationListModel { EventId = model.EventId }; _corporateUploadHelper.SetEventDetails(newModel); _corporateUploadHelper.SetDropDownInfo(newModel); return(View(newModel)); }