//
        // 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));
        }
Exemple #2
0
        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)
            };
        }
Exemple #3
0
        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));
        }