public ActionResult GutterCleanInfoRegister() { GutterCleanRequestModel requestModel = _httpContext.Session["GutterCleanRequestModel"] as GutterCleanRequestModel; if (requestModel == null) { return(RedirectToRoute("GutterCleanRequest")); } GutterCleanInfoModel model = new GutterCleanInfoModel(); return(View(model)); }
public ActionResult GutterCleanInfoRegister(GutterCleanInfoModel model, bool captchaValid) { GutterCleanRequestModel requestModel = _httpContext.Session["GutterCleanRequestModel"] as GutterCleanRequestModel; if (requestModel == null) { return(RedirectToRoute("GutterCleanRequest")); } string returnUrl = string.Empty; if (!captchaValid) { ModelState.AddModelError("", "Wrong Captcha code."); } var zipcodeResult = _zipCodeService.GetZipCodeDetailByZipcode(model.ZipCode); if (zipcodeResult != null) { } else { ModelState.AddModelError("", "Zipcode is not valid."); } if (ModelState.IsValid) { if (!_workContext.CurrentCustomer.IsRegistered()) { //Already registered customer. _authenticationService.SignOut(); //Save a new record _workContext.CurrentCustomer = _customerService.InsertGuestCustomer(); var customer = _workContext.CurrentCustomer; customer.FirstName = model.FirstName; customer.LastName = model.LastName; customer.Address1 = model.Address; customer.ZipPostalCode = model.ZipCode; bool isApproved = true; string password = Guid.NewGuid().ToString(); var registrationRequest = new CustomerRegistrationRequest(customer, model.Email, password.Substring(0, 8), isApproved); var registrationResult = _customerService.RegisterCustomer(registrationRequest); if (registrationResult.Success) { //login customer now if (isApproved) { _authenticationService.SignIn(customer, true); } switch (UserRegistrationType.Standard) { case UserRegistrationType.Standard: { var address = new Address(); address.Address1 = model.Address; address.Address2 = ""; address.City = zipcodeResult.CityName; address.Email = model.Email; address.State = zipcodeResult.StateName; address.PhoneNumber = ""; address.ZipPostalCode = model.ZipCode; address.CreatedOnUtc = DateTime.UtcNow; customer.Addresses.Add(address); _customerService.UpdateCustomer(customer); //send email _workflowMessageService.SendCustomerWelcomeMessage(customer); GutterCleanRequestModel Requestmodel = _httpContext.Session["GutterCleanRequestModel"] as GutterCleanRequestModel; if (Requestmodel == null) { return(RedirectToRoute("GutterCleanRequest")); } else { return(RedirectToRoute("ProcessPayment")); } } default: { return(RedirectToRoute("GutterCleanRequest")); } } } //errors foreach (var error in registrationResult.Errors) { ModelState.AddModelError("", error); } } else { /// user is already registered return(RedirectToRoute("ProcessPayment")); } } // If we got this far, something failed, redisplay form return(View(model)); }