public ActionResult ResetPassword(string userEmail, string code, string accountname) { ResetPasswordViewModel resetPasswordViewModel = new ResetPasswordViewModel(); var resetpasswordpage = "ResetPassword"; try { var securedUserEmail = Convert.FromBase64String(userEmail); var decryptedUserId = MachineKey.Unprotect(securedUserEmail); var securedAccountName = Convert.FromBase64String(accountname); var decryptedAccountName = MachineKey.Unprotect(securedAccountName); userEmail = GetString(decryptedUserId); accountname = GetString(decryptedAccountName); if (userEmail == null || code == null || accountname == null) { Logger.Current.Informational("Any one or more of the parameters is null."); ModelState.AddModelError("", "Invalid details"); return(View(resetPasswordViewModel)); } string modifiedCode = code.Replace(" ", "+"); GetAccountAuthorizationRequest request = new GetAccountAuthorizationRequest(); request.name = DomainName; var accountID = default(int); GetAccountAuthorizationResponse response = accountService.GetAccountByDomainUrl(request); if (response.Exception != null) { ExceptionHandler.Current.HandleException(response.Exception, DefaultExceptionPolicies.LOG_ONLY_POLICY); ModelState.AddModelError("", "Invalid Account."); return(View(resetPasswordViewModel)); } GetSubscriptionSettingsRequest ssRequest = new GetSubscriptionSettingsRequest(); if (response != null) { accountID = response.AccountId; ssRequest.SubscriptionId = response.SubscriptionId; } GetSubscriptionSettingsResponse ssResponse = accountService.GetSubscriptionSettings(ssRequest); resetpasswordpage = ssResponse.SubscriptionSettings.Where(p => p.SubscriptionSettingType == SubscriptionSettingTypes.ResetPassword).Select(p => p.Value).FirstOrDefault(); resetPasswordViewModel.AccountId = accountID; resetPasswordViewModel.AccountName = accountname; resetPasswordViewModel.Email = userEmail; resetPasswordViewModel.Code = modifiedCode; } catch (Exception ex) { ExceptionHandler.Current.HandleException(ex, DefaultExceptionPolicies.LOG_ONLY_POLICY); ModelState.AddModelError("", "[|An error occurred, please try again later.|]"); return(View(resetpasswordpage, resetPasswordViewModel)); } return(View(resetpasswordpage, resetPasswordViewModel)); }
public ActionResult Register(string userId, string accountId, string emailId) { try { if (String.IsNullOrEmpty(userId)) { userId = TempData["UserId"] as string; } if (String.IsNullOrEmpty(accountId)) { accountId = TempData["AccountId"] as string; } if (String.IsNullOrEmpty(emailId)) { emailId = TempData["EmailId"] as string; } if (userId == null || accountId == null) { Logger.Current.Informational("While registering we got userId or accountID as null."); ModelState.AddModelError("", "[|Invalid details|]"); return(View()); } RegisterViewModel registerViewModel = new RegisterViewModel(); registerViewModel.AccountId = Convert.ToInt32(accountId); registerViewModel.UserId = userId; registerViewModel.Email = emailId; string masterUrl = string.Empty; string registerPage = string.Empty; GetAccountSubscriptionDataRequest datarequest = new GetAccountSubscriptionDataRequest(); datarequest.AccountId = Convert.ToInt32(accountId); GetAccountSubscriptionDataResponse response = accountService.GetSubscriptionDataByAccountID(datarequest); GetSubscriptionSettingsRequest ssRequest = new GetSubscriptionSettingsRequest(); ssRequest.SubscriptionId = response.AccountSubscriptionData.SubscriptionID; GetSubscriptionSettingsResponse ssResponse = accountService.GetSubscriptionSettings(ssRequest); masterUrl = ssResponse.SubscriptionSettings.Where(p => p.SubscriptionSettingType == SubscriptionSettingTypes.Master).Select(p => p.Value).FirstOrDefault(); AddCookie("accountUrl", response.AccountSubscriptionData.AccountUrl.ToString(), 1); if (masterUrl != null && masterUrl != DomainName) { return(Redirect("https://" + masterUrl + "/Register?userId=" + userId + "&accountId=" + accountId + "&emailId=" + emailId)); } registerPage = ssResponse.SubscriptionSettings.Where(p => p.SubscriptionSettingType == SubscriptionSettingTypes.Register).Select(p => p.Value).FirstOrDefault(); ViewBag.Page = "Register"; return(View(registerPage, registerViewModel)); } catch (Exception ex) { ExceptionHandler.Current.HandleException(ex, DefaultExceptionPolicies.LOG_ONLY_POLICY); ModelState.AddModelError("", "[|An error occurred, please try again later.|]"); return(View()); } }
public ActionResult ForgotPassword(string email) { ForgotPasswordViewModel forgotPasswordViewModel = new ForgotPasswordViewModel(); string forgotPasswordPage = ""; try { Logger.Current.Verbose("Request for Forgot Password using domainurl:" + DomainName); GetAccountAuthorizationRequest request = new GetAccountAuthorizationRequest(); request.name = DomainName; var accountID = default(int); GetAccountAuthorizationResponse response = accountService.GetAccountByDomainUrl(request); GetSubscriptionSettingsRequest ssRequest = new GetSubscriptionSettingsRequest(); if (response != null) { ssRequest.SubscriptionId = response.SubscriptionId; } GetSubscriptionSettingsResponse ssResponse = accountService.GetSubscriptionSettings(ssRequest); forgotPasswordPage = ssResponse.SubscriptionSettings.Where(p => p.SubscriptionSettingType == SubscriptionSettingTypes.ForgotPassword).Select(p => p.Value).FirstOrDefault(); ViewBag.PageName = forgotPasswordPage; if (response.Exception != null) { ExceptionHandler.Current.HandleException(response.Exception, DefaultExceptionPolicies.LOG_ONLY_POLICY); ModelState.AddModelError("", "Invalid Account."); return(View()); } if (response != null) { Logger.Current.Informational("AccountId :" + response.AccountId); Logger.Current.Informational("Account Name :" + response.AccountName); accountID = response.AccountId; } forgotPasswordViewModel.AccountId = accountID; if (response.SubscriptionId == (int)AccountSubscription.Standard || response.SubscriptionId == (int)AccountSubscription.STAdmin) { forgotPasswordViewModel.AccountName = response.AccountName; } forgotPasswordViewModel.AccountPrimaryEmail = response.PrimaryEmail; forgotPasswordViewModel.Email = email; } catch (Exception ex) { ExceptionHandler.Current.HandleException(ex, DefaultExceptionPolicies.LOG_ONLY_POLICY); ModelState.AddModelError("", "[|An error occurred, please try again later.|]"); return(View(forgotPasswordPage, forgotPasswordViewModel)); } return(View(forgotPasswordPage, forgotPasswordViewModel)); }
public ActionResult Login(string returnUrl, string message, string modelMessage) { Logger.Current.Informational("In Login returnUrl " + returnUrl + ", message:" + message); if (Request.IsAuthenticated) { GetAccountAuthorizationRequest request = new GetAccountAuthorizationRequest(); request.name = DomainName; GetAccountAuthorizationResponse response = accountService.GetAccountByDomainUrl(request); if (response.Exception != null) { ExceptionHandler.Current.HandleException(response.Exception, DefaultExceptionPolicies.LOG_ONLY_POLICY); ModelState.AddModelError("", "[|Invalid Account.|]"); return(View()); } cachingService.AddAccountPermissions(response.AccountId); cachingService.AddUserPermissions(response.AccountId); return(RedirectToLocal("", Thread.CurrentPrincipal.Identity.ToRoleID(), Thread.CurrentPrincipal.Identity.ToAccountID(), "", "")); } if (!String.IsNullOrEmpty(modelMessage)) { ModelState.AddModelError("", modelMessage); } var defaultHelpURL = ConfigurationManager.AppSettings["helpURL"].ToString(); ViewBag.SecurityMessage = message; if (!string.IsNullOrEmpty(returnUrl) && returnUrl.ToLower().Contains("logoff")) { returnUrl = null; } Logger.Current.Verbose("Request for login using domainurl:" + DomainName); ViewBag.Page = "Login"; string loginPage = "Login"; string masterUrl = DomainName; if (!string.IsNullOrWhiteSpace(DomainName)) { GetAccountAuthorizationRequest request = new GetAccountAuthorizationRequest(); request.name = DomainName; var accountID = default(int); GetAccountAuthorizationResponse response = accountService.GetAccountByDomainUrl(request); GetSubscriptionSettingsRequest ssRequest = new GetSubscriptionSettingsRequest(); if (response != null) { ssRequest.SubscriptionId = response.SubscriptionId; } GetSubscriptionSettingsResponse ssResponse = accountService.GetSubscriptionSettings(ssRequest); masterUrl = ssResponse.SubscriptionSettings.Where(p => p.SubscriptionSettingType == SubscriptionSettingTypes.Master).Select(p => p.Value).FirstOrDefault(); if (masterUrl != null && masterUrl != DomainName) { return(Redirect("https://" + masterUrl + "/Login/?modelMessage=" + modelMessage)); } loginPage = ssResponse.SubscriptionSettings.Where(p => p.SubscriptionSettingType == SubscriptionSettingTypes.Login).Select(p => p.Value).FirstOrDefault(); ViewBag.LoginUrl = masterUrl == null ? DomainName : masterUrl; ViewBag.LoginPage = loginPage; if (response.Exception != null) { ExceptionHandler.Current.HandleException(response.Exception, DefaultExceptionPolicies.LOG_ONLY_POLICY); ModelState.AddModelError("", "[|Invalid Account.|]"); return(View()); } if (response != null) { cachingService.AddAccountPermissions(response.AccountId); Logger.Current.Informational("AccountId :" + response.AccountId); Logger.Current.Informational("Account Name :" + response.AccountName); accountID = response.AccountId; this.Response.Cookies.Add(new HttpCookie("helpURL", !string.IsNullOrEmpty(response.HelpURL) ? response.HelpURL : defaultHelpURL)); } LoginViewModel loginViewModel = new LoginViewModel(); loginViewModel.AccountId = accountID; if (response.SubscriptionId == (int)AccountSubscription.Standard || response.SubscriptionId == (int)AccountSubscription.STAdmin) { loginViewModel.AccountName = response.AccountName; } if (returnUrl != null) { ViewBag.ReturnUrl = returnUrl; } ViewBag.AccountID = accountID; ViewBag.AccountName = response.AccountName; if (response.Status == 3) { AccountViewModel account = cachingService.GetAccount(accountID); ViewBag.AccountName = account.AccountName; ViewBag.ImageSrc = account.Image == null ? "" : account.Image.ImageContent; ViewBag.StatusMessage = account.StatusMessage; return(View("~/Views/Error/Suspended.cshtml")); } else if (response.Status == 5) { AccountViewModel account = cachingService.GetAccount(accountID); ViewBag.AccountName = account.AccountName; ViewBag.ImageSrc = account.Image == null ? "" : account.Image.ImageContent; ViewBag.StatusMessage = account.StatusMessage; return(View("~/Views/Error/Maintenance.cshtml")); } return(View(loginPage, loginViewModel)); } else { return(View(loginPage)); } }