예제 #1
0
        public void SetIdDefaults
        (
            IWorkContext workContext,
            ICustomerService customerService,
            ICustomerAttributeService customerAttributeService,
            CaptchaSettings captchaSettings,
            FormCollection form
        )
        {
            bool showCaptcha = captchaSettings.Enabled; //&& captchaSettings.ShowOnContactUsPage;

            this.DisplayCaptcha = showCaptcha;

            SelfIdentificationViewModel self =
                Utilities.SelfIdentificationViewModel(workContext, customerService, customerAttributeService, showCaptcha);

            self.RequestEmail       = true;
            self.RequestPassword    = true;
            self.RequestPhoneNumber = true;

            _identificationViewModel = self;

            this.IsPrayerCoordinatorRequest = false;
            this.Member          = self.Member;
            this.CurrentCustomer = self.Customer;
            this.EzLinkRequest   = false;
        }
예제 #2
0
        public void PostProcessing
        (
            RegistrationViewModel model,
            FormCollection form,
            IWorkContext workContext,
            ICustomerService customerService,
            ICustomerAttributeService customerAttributeService,
            CaptchaSettings captchaSettings
        )
        {
            SetIdDefaults(workContext, customerService, customerAttributeService, captchaSettings, form);
            SelfIdentificationViewModel self = model.SelfIdentificationViewModel;

            if (self.Member || form == null)
            {
                return;
            }

            // pick up form values
            self.FirstName                     = form["FirstName"];
            self.LastName                      = form["LastName"];
            self.Email                         = form["Email"];
            self.ConfirmEmail                  = form["ConfirmEmail"];
            self.Password                      = form["Password"];
            self.ConfirmPassword               = form["ConfirmPassword"];
            self.Option                        = form["SelectedAnswer"];
            self.Phone                         = form["Phone"];
            self.PrayerCoordinatorEmail        = form["PrayerCoordinatorEmail"];
            self.PrayerCoordinatorConfirmEmail = form["PrayerCoordinatorConfirmEmail"];
        }
        public ActionResult CustomerContact(
            ContactRequestViewModel model,
            SelfIdentificationViewModel identity,
            string returnUrl,
            bool captchaValid
            )
        {
            model.SelfIdentificationViewModel = identity;

            // prepare response
            if (model.CurrentCustomer == null)
            {
                model.CurrentCustomer = _workContext.CurrentCustomer;
            }

            // fake selection
            model.SelectedCategoryId = 0;
            model.SelectedOption     = new SelectListItem {
                Value = "0", Text = "Other", Selected = true
            };

            ExtractValuesFromResponse(model, identity);

            // security check for non-member
            // if (!model.Member)
            //   DisplayCaptchaViewModel.CaptchaValidation(captchaValid, model.DisplayCaptcha, ModelState);

            if (ModelState.IsValid)
            {
                // save the record
                //   _contactRequestServiceService.CreateContactRecord(model);

                _eventPublisher.Publish(new ContactRequestCreatedEvent(model));

                // return success;
                model.DisplaySuccess = true;

                // if (model.Member) return RedirectToRoute("greetings", new {id="contact"}  );

                return(PartialView(ContactViewPath("_ContactResponse"), model));
            }

            // if we get here something failed!
            // return failure
            model.DisplaySuccess = false;

            return(View(ContactViewPath("ContactRequest"), model));
        }
예제 #4
0
 public DallasArtContext()
 {
     NeedMembershipStatus = false;
     IsEnrollment         = false;
     IsRegistration       = false;
     IsContact            = false;
     IsPresetEnrollment   = false;
     IsPresetRegistration = false;
     IsFreeRegistration   = false;
     NeedsOption          = true;
     NeedsPhone           = true;
     NeedsEmail           = true;
     NeedsPassword        = false;
     ContactRequest       = new ContactRequestViewModel();
     Location             = new MemberEnrollment();
     SelfIdentification   = new SelfIdentificationViewModel();
 }
        private void ExtractValuesFromResponse(ContactRequestViewModel model, SelfIdentificationViewModel identity)
        {
            // restore state for tokenizer
            _dallasArtContext.IsContact     = true;
            _dallasArtContext.NeedsPassword = false;

            // get the question
            _dallasArtContext.ContactRequest.Question = model.Question;

            // get the selected category
            _dallasArtContext.SelectedCategoryItem = model.SelectedOption;
            //  _dallasArtContext.SelectedCategoryItem = model.CategorySelectListItems
            //  .Single(x => x.Value == model.SelectedCategoryId.ToString());

            // get the  Identification
            _dallasArtContext.ContactRequest.SelfIdentificationViewModel = identity;
        }
예제 #6
0
        // [ChildActionOnly]
        public PartialViewResult CheckForMembershipPurchase()
        {
            var model = new SelfIdentificationViewModel();

            model.RequestPhoneNumber = false;
            model.RequestPassword    = false;
            //      model.FirstName = "Fred";

            //      model.LastName = "Lauriello";
            //      model.Email = "*****@*****.**";
            //      model.ConfirmEmail = "*****@*****.**";


            //if (
            //    customer.HasShoppingCartItems
            //    && customer.ShoppingCartItems.Count == 1
            //    && customer.ShoppingCartItems.First().ProductId <= 5)
            //{
            //    isMembershipOrder = true;
            //}

            return(PartialView("_CheckForMembershipPurchase", model));
        }
예제 #7
0
        public ActionResult Register(
            RegistrationViewModel model,
            SelfIdentificationViewModel identity,
            bool captchaValid
            )
        {
            //check whether registration is allowed
            if (_customerSettings.UserRegistrationType == UserRegistrationType.Disabled)
            {
                return(RedirectToRoute("RegisterResult", new { resultId = (int)UserRegistrationType.Disabled }));
            }


            //// check for existing email address  this is a members only show;
            //if (model.SelfIdentificationViewModel.Email == null ||
            // _customerService.GetCustomerByEmail(model.SelfIdentificationViewModel.Email.Trim()) == null)
            //{
            //    model.CurrentState = "NonMember";
            //    model.DisplaySuccess = false;
            //    return View(ContactViewPath("Register"), model);
            //}



            // setup model for pure registration
            _dallasArtContext.IsRegistration  = true;
            model.SelfIdentificationViewModel = identity;

            if (model.CurrentState == "Begin")
            {
                model.CurrentState = "Loop";
                //  PostExtraValidation(model);


                if (!ModelState.IsValid)
                {
                    // something failed validation
                    return(PartialView(ContactViewPath("_RegisterRequest"), model));
                }

                else
                {
                    // add member
                    model.ImageUploadViewModel.Member = identity.RadioButtionList.SelectedRole == 2;

                    model.ImageUploadViewModel.EmailAddress    = identity.Email;
                    model.ImageUploadViewModel.CustomerName    = identity.FirstName + " " + identity.LastName;
                    model.ImageUploadViewModel.Telephone       = identity.Phone;
                    model.ImageUploadViewModel.RemainingImages = 2;
                    model.ImageUploadViewModel.ModelState      = "Ready";

                    Customer             customer = _customerService.GetCustomerByEmail(identity.Email);
                    IList <CustomerRole> x        = _customerService.GetAllCustomerRoles();

                    // if (customer != null) model.CurrentState = "Member";

                    model.DisplaySuccess = true;

                    return(PartialView(ContactViewPath("_RegisterRequest"), model));
                }

                // model.DisplaySuccess = false;
                // model.CurrentState = "Begin";
                //  return View(ContactViewPath("Register"), model);
            }

            // security check
            // DisplayCaptchaViewModel.CaptchaValidation(captchaValid, model.DisplayCaptcha, ModelState);

            // check input values not handled by validation
            EnrollmentPostValidation(model);

            if (ModelState.IsValid)
            {
                bool isApproved = _customerSettings.UserRegistrationType == UserRegistrationType.Standard;

                model.CurrentCustomer = _workContext.CurrentCustomer;
                model.SelfIdentificationViewModel.Customer = model.CurrentCustomer;


                var registrationRequest = new CustomerRegistrationRequest(
                    model.CurrentCustomer,
                    model.SelfIdentificationViewModel.Email,
                    _customerSettings.UsernamesEnabled ? model.Username : model.SelfIdentificationViewModel.Email,
                    model.SelfIdentificationViewModel.Password,
                    _customerSettings.DefaultPasswordFormat,
                    _storeContext.CurrentStore.Id,
                    isApproved);

                var registrationResult = _customerRegistrationService.RegisterCustomer(registrationRequest);

                if (registrationResult.Success)
                {
                    //  var loginResult =
                    // _customerRegistrationService.ValidateCustomer( model.SelfIdentificationViewModel.Email, model.SelfIdentificationViewModel.Password);

                    var guestRole = _customerService.GetCustomerRoleBySystemName(SystemCustomerRoleNames.Guests);

                    _workContext.CurrentCustomer.CustomerRoles.Add(guestRole);

                    var control = new OnePageCheckoutModel {
                        ShippingRequired = false, DisableBillingAddressCheckoutStep = false
                    };

                    return(View("/Themes/PAA/Views/Checkout/onepagecheckout.cshtml", control));
                }
                else
                {
                    // something failed registration
                    return(View("Register", model));
                }
            }

            // something failed validation
            return(View("Register", model));
        }