public ActionResult EditPersonalInfo(PartnerPersonalInfoDTO personalInfo)
        {
            Connector connector = WebApp.Connector;

            if (ModelState.IsValid)
            {
                PartnerBLL partnerBLL = new PartnerBLL(connector)
                {
                    EmailAddressVerificationSubject  = LocalizationProvider["EmailVerificationSubject"],
                    EmailAddressVerificationTemplate = LocalizationProvider["EmailVerificationTemplate"]
                };
                string baseUrl = new UriBuilder(Request.Url.Scheme, Request.Url.Host, Request.Url.Port).ToString();
                PartnerBLL.UpdatePersonalInfoResult result = partnerBLL.UpdatePersonalInfo(Account.Id, personalInfo, baseUrl, Url.Action("VerifyEmailAddress", "Accounts"));
                switch (result)
                {
                case PartnerBLL.UpdatePersonalInfoResult.OK:
                    TempData["Result"] = "PersonalInfoHasBeenUpdated";
                    return(RedirectToAction("MyProfile"));

                case PartnerBLL.UpdatePersonalInfoResult.EmailAddressAlreadyUsed:
                    AddError("EmailAddress", result.ToString());
                    EditPersonalInfo_Base(connector);
                    return(View(personalInfo));

                default: return(BadRequest());
                }
            }
            else
            {
                EditPersonalInfo_Base(connector);
                return(BadRequestWithErrors(personalInfo));
            }
        }
예제 #2
0
 public ActionResult SignupStep2(PartnerPersonalInfoDTO personalInfo)
 {
     if (ModelState.IsValid)
     {
         Session["Signup$PersonalInfo"] = personalInfo;
         return(RedirectToAction("SignupStep3"));
     }
     else
     {
         SignupStep2_Base();
         return(BadRequestWithErrors(personalInfo));
     }
 }
예제 #3
0
 public ActionResult SignupStep2()
 {
     if (Session["Signup$Credential"] is PartnerCredentialDTO)
     {
         PartnerPersonalInfoDTO companyInfo = Session["Signup$PersonalInfo"] as PartnerPersonalInfoDTO;
         SignupStep2_Base();
         return(View(companyInfo));
     }
     else
     {
         return(RedirectToAction("SignupStep1"));
     }
 }
예제 #4
0
 public ActionResult VerifyEmailAddress()
 {
     if (Session["Signup$Preferences"] is PartnerPreferencesDTO)
     {
         PartnerPersonalInfoDTO personalInfo = Session["Signup$PersonalInfo"] as PartnerPersonalInfoDTO;
         Session.Abandon();
         ViewBag.EmailAddress = personalInfo.EmailAddress;
         return(View());
     }
     else
     {
         return(RedirectToAction("SignupStep1"));
     }
 }
예제 #5
0
        public ActionResult SignupStep4(PartnerPreferencesDTO preferences)
        {
            if (ModelState.IsValid)
            {
                PartnerBLL partnerBLL = new PartnerBLL(WebApp.Connector)
                {
                    EmailAddressVerificationSubject  = LocalizationProvider["VerifyYourEmailAddress"],
                    EmailAddressVerificationTemplate = LocalizationProvider["EmailVerificationTemplate"]
                };
                PartnerDTO             partner      = new PartnerDTO();
                PartnerCredentialDTO   credential   = Session["Signup$Credential"] as PartnerCredentialDTO;
                PartnerPersonalInfoDTO personalInfo = Session["Signup$PersonalInfo"] as PartnerPersonalInfoDTO;
                PartnerCompanyInfoDTO  companyInfo  = Session["Signup$CompanyInfo"] as PartnerCompanyInfoDTO;
                partner.Join(credential);
                partner.Join(personalInfo);
                partner.Join(companyInfo);
                partner.Join(preferences);
                Uri    requestUrl = Request.Url;
                string baseUrl    = new UriBuilder(requestUrl.Scheme, requestUrl.Host, requestUrl.Port).ToString();
                PartnerBLL.SignupResult result = partnerBLL.Signup(partner, baseUrl, Url.Action("VerifyEmailAddress"));
                switch (result)
                {
                case PartnerBLL.SignupResult.OK:
                    Session["Signup$Preferences"] = preferences;
                    return(RedirectToAction("VerifyEmailAddress"));

                case PartnerBLL.SignupResult.UsernameAlreadyUsed:
                    TempData["Errors"] = new Dictionary <string, string>()
                    {
                        { "Username", result.ToString() }
                    };
                    return(RedirectToAction("SignupStep1"));

                case PartnerBLL.SignupResult.EmailAddressAlreadyUsed:
                    TempData["Errors"] = new Dictionary <string, string>()
                    {
                        { "EmailAddress", result.ToString() }
                    };
                    return(RedirectToAction("SignupStep2"));

                default: return(BadRequest());
                }
            }
            else
            {
                return(BadRequestWithErrors(preferences));
            }
        }