private bool ValidateContactDetail(AccountMeViewModel model) { Requires(model.ContactDetail.FirstName, "ContactDetail.FirstName", "*"); Requires(model.ContactDetail.LastName, "ContactDetail.LastName", "*"); Requires(model.ContactDetail.City, "ContactDetail.City", "*"); Requires(model.ContactDetail.Address1, "ContactDetail.Address1", "*"); Requires(model.ContactDetail.EMail, "ContactDetail.EMail", "*"); if ("0".Equals(model.ContactDetail.Country)) { ModelState.AddModelError("ContactDetail.Country", "*"); } if ("USA".Equals(model.ContactDetail.Country) && string.IsNullOrWhiteSpace(model.ContactDetail.ZipOrRegionCode)) { ModelState.AddModelError("ContactDetail.ZipOrRegionCode", "*"); } if ("USA".Equals(model.ContactDetail.Country) && string.IsNullOrWhiteSpace(model.ContactDetail.StateOrProvince)) { ModelState.AddModelError("State", "*"); } return(ModelState.IsValid); }
public async Task <ActionResult> Me(string returnUrl) { var model = new AccountMeViewModel { ReturnUrl = returnUrl }; var submitter = await _submitterService.GetSubmitterByMicrosoftAccountAsync(User.GetEmailAddress()); if (submitter != null) { model.ContactDetail = await _submitterService.GetContactDetailAsync(submitter.SubmitterID); } return(View(model)); }
public async Task <ActionResult> Me(AccountMeViewModel model, string returnUrl) { if (!ValidateContactDetail(model)) { return(View(model)); } var submitter = await _submitterService.SaveContactDetailAsync(User.GetEmailAddress(), model.ContactDetail); // add submitter claims HttpContext.GetOwinContext().Authentication.SignInAsSubmitter(submitter); if (string.IsNullOrEmpty(returnUrl)) { return(RedirectToRoute(SiteRouteNames.Portal)); } else { return(Redirect(returnUrl)); } }