public void TestChangeVerifyCodePost_NoUser() { string testUrl = "/lskfj"; IRpcBroker broker = MockRpcBrokerFactory.GetChangeVerifyCodePostBroker(true, false); AccountController controller = new AccountController(broker); ChangeVerifyCode cvc = new ChangeVerifyCode() { OriginalVerifyCode = "", NewVerifyCode = "", ConfirmVerifyCode = "", RequestedUrl = testUrl }; int timeout = 0; string authorizedUser = ""; ActionResult result = controller.ProcessChangeVerifyCodePost(cvc, true, true, out timeout, out authorizedUser); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); RedirectToRouteResult routeResult = (RedirectToRouteResult)result; Assert.AreEqual("Home", routeResult.RouteValues["controller"]); Assert.AreEqual("Index", routeResult.RouteValues["action"]); Assert.IsTrue(timeout > 0); Assert.IsTrue(string.IsNullOrWhiteSpace(authorizedUser)); }
//public ChangeVerifyCodeData ChangeVerifyCode(ChangeVerifyCodeData changeVerifyCodeData) //{ // if (this.broker != null) // { // XusCvcCommand cvcCommand = new XusCvcCommand(this.broker, changeVerifyCodeData.OriginalVerifyCode, changeVerifyCodeData.NewVerifyCode, changeVerifyCodeData.ConfirmVerifyCode); // cvcCommand.Execute(); // if (cvcCommand.Response.Status == ResponseStatus.Success) // changeVerifyCodeData.SetLastOperation(true, cvcCommand.Response.InformationalMessage); // else // changeVerifyCodeData.SetLastOperation(false, cvcCommand.Response.InformationalMessage); // } // else // changeVerifyCodeData.SetLastOperation(false, "No valid connection"); // return changeVerifyCodeData; //} public BrokerOperationResult ChangeVerifyCode(ChangeVerifyCode changeVerifyCodeData) { BrokerOperationResult returnResult = new BrokerOperationResult(); if (this.broker != null) { XusCvcCommand cvcCommand = new XusCvcCommand(this.broker); // *** Make sure everything is upper case *** changeVerifyCodeData.OriginalVerifyCode = changeVerifyCodeData.OriginalVerifyCode.ToUpper().Trim(); changeVerifyCodeData.NewVerifyCode = changeVerifyCodeData.NewVerifyCode.ToUpper().Trim(); changeVerifyCodeData.ConfirmVerifyCode = changeVerifyCodeData.ConfirmVerifyCode.ToUpper().Trim(); cvcCommand.AddCommandArguments(changeVerifyCodeData.OriginalVerifyCode, changeVerifyCodeData.NewVerifyCode, changeVerifyCodeData.ConfirmVerifyCode); RpcResponse response = cvcCommand.Execute(); if (response.Status == RpcResponseStatus.Success) { returnResult.SetResult(true, cvcCommand.Response.InformationalMessage); } else { string message = string.IsNullOrWhiteSpace(cvcCommand.Response.InformationalMessage) ? "An unspecified error has occurred" : cvcCommand.Response.InformationalMessage; returnResult.SetResult(false, message); } } else { returnResult.SetResult(false, "No valid connection"); } return(returnResult); }
public void TestChangeVerifyCodePost_FailedChange() { string testUrl = "/lskfj"; IRpcBroker broker = MockRpcBrokerFactory.GetChangeVerifyCodePostBroker(false); AccountController controller = new AccountController(broker); ChangeVerifyCode cvc = new ChangeVerifyCode() { OriginalVerifyCode = "", NewVerifyCode = "", ConfirmVerifyCode = "", RequestedUrl = testUrl }; int timeout = 0; string authorizedUser = ""; ActionResult result = controller.ProcessChangeVerifyCodePost(cvc, true, false, out timeout, out authorizedUser); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ViewResult)); ViewResult viewResult = (ViewResult)result; Assert.IsInstanceOfType(viewResult.Model, typeof(ChangeVerifyCode)); }
public ActionResult ChangeVerifyCode(string requestedurl) { // *** Show the change v code view *** ActionResult returnResult; ChangeVerifyCode cvcD = new ChangeVerifyCode(); cvcD.RequestedUrl = Request.UrlReferrer.AbsolutePath; returnResult = View(cvcD); return(returnResult); }
public ActionResult ChangeVerifyCode(ChangeVerifyCode changeVerifyCodeData) { // *** Change Verify Code Post Action *** ActionResult returnResult = null; // *** Prepare the data needed for processing *** bool modelStateValid = this.ModelState.IsValid; bool isAuthenticated = this.User.Identity.IsAuthenticated; int timeout = 0; string authorizedUser = ""; // *** Process the request *** returnResult = ProcessChangeVerifyCodePost(changeVerifyCodeData, modelStateValid, isAuthenticated, out timeout, out authorizedUser); // *** Set timeout *** if (timeout > 525600) { timeout = 525600; } // *** Set timeout *** if (timeout > 0) { VistaLogger.Log(string.Format("Setting Session Timeout to {0} minutes", timeout), "", -1, null, ""); Session.Timeout = timeout; } // *** Set authorized user *** if (!string.IsNullOrWhiteSpace(authorizedUser)) { FormsAuthentication.SetAuthCookie(authorizedUser, false); } return(returnResult); }
public VerifyCodeResult() { this.ChangeVerifyCodeData = new ChangeVerifyCode(); }
public ActionResult ProcessChangeVerifyCodePost(ChangeVerifyCode changeVerifyCodeData, bool modelStateValid, bool isAuthenticated, out int timeout, out string authorizedUser) { // *** Change the verify code *** ActionResult returnResult = null; // *** Default return values *** timeout = 2; authorizedUser = ""; // *** Check model state *** if (modelStateValid) { // *** Change VC *** BrokerOperationResult opResult = this.DashboardRepository.Accounts.ChangeVerifyCode(changeVerifyCodeData); changeVerifyCodeData.Message = opResult.Message; // *** Check result *** if (opResult.Success) { // *** If the user is not authenticated yet, do it now *** if (isAuthenticated == false) { // *** Get the user data *** UserResult userResult = this.DashboardRepository.Accounts.GetUserData(); // *** Check success *** if (userResult.Success) { // *** Check that user has the proper context *** BrokerOperationResult result = this.DashboardRepository.Accounts.CreateContext(); if (!result.Success) { //this.Error(result.Message); //this.CloseBroker(); //authorizedUser = ""; //returnResult = RedirectToAction("Login"); returnResult = RedirectToAction("NoContext"); } else { // *** Set the session timeout based on value in vista *** int timeoutInSeconds = this.DashboardRepository.Accounts.GetUserTimeout(); // *** Set timeout *** if (timeoutInSeconds > 525600) { timeoutInSeconds = 525600; } // *** Convert timeout to minutes *** timeout = timeoutInSeconds / 60; // *** Set authorization cookie indicating logged in *** authorizedUser = userResult.UserData.UserName; this.Information("Your verify code has been changed"); // *** Redirect to original url *** returnResult = Redirect(changeVerifyCodeData.RequestedUrl); } } else { this.Error("Your verify code has been changed; but the user information could not be obtained. Please log in again."); returnResult = RedirectToAction("Index", "Home"); } } else { this.Information("Your verify code has been changed"); returnResult = RedirectToAction("Index", "Home"); } } else { returnResult = this.View(changeVerifyCodeData); } } else { changeVerifyCodeData.Message = "All fields are required."; returnResult = this.View(changeVerifyCodeData); } return(returnResult); }