public ActionResult Index() { UserMaster userMaster = new UserMaster(); UserMasterFacade facade = new UserMasterFacade(); BlockedIPAddressFacade blockedIPAddressFacade = new BlockedIPAddressFacade(); try { // Code for validating the CAPTCHA if (Request.Form["txtCaptcha"] != HttpContext.Session["CaptchaString"].ToString()) { ViewBag.CredentialError = "Sorry! Invalid Captcha"; return(View()); } userMaster.EmailId = Request.Form["txtUserName"]; userMaster.Password = Request.Form["txtPassword"]; #region Authenticate Username and Passowrd int Id = facade.ValidateUserCredentials(userMaster, Request.ServerVariables["REMOTE_ADDR"].ToString(), Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port, UserType.GURUDWARA); //If Id is less than or Equal to ZERO, then Invalid Username or Password if (Id <= 0) { ViewBag.CredentialError = "Invalid Credentials. To generate new password, use Forgot Password option."; } if (Id > 0) { userMaster = facade.GetDetailById(Id); userMaster.UserType = UserType.GURUDWARA; userMaster.IPAddress = Request.ServerVariables["REMOTE_ADDR"].ToString(); userMaster.BrowserInformation = Request.ServerVariables["HTTP_USER_AGENT"].ToString(); Session.Timeout = 60; Session[Session["APP_PREFIX"] + "_SessionId"] = Session.SessionID; Session[Session["APP_PREFIX"] + "_USER_MASTER_SESSION"] = userMaster; //Check for Extra Security Checks if (facade.isValidLoginDaysAndTime(userMaster)) { if (userMaster.ExtraSecurityRequired) { CommonFacade facadeCommon = new CommonFacade(); string verificationCode = facadeCommon.CreateRandomCode(6, true); facade.MailVerificationCode(userMaster, verificationCode, Server.MapPath("~/EmailTemplates/VerificationCode.htm")); return(RedirectToAction("Security", "Home", new { Token = SaraiBooking.App_Start.Common.EncryptData("`VERIFICATION_CODE=" + verificationCode + "`RECORD_STATUS=VCSS") })); } else { userMaster.LoginHistoryId = facade.SaveLoginSessionHistory(); Session[Session["APP_PREFIX"] + "_USER_MASTER_SESSION"] = userMaster; return(RedirectToAction("About", "AboutUs")); } } } #endregion } catch (Exception ex) { Session[Session["APP_PREFIX"] + "_SessionId"] = null; Session[Session["APP_PREFIX"] + "_USER_MASTER_SESSION"] = null; ViewBag.CredentialError = ex.Message; } return(View(userMaster)); }