public async Task <ActionResult> Login(ClsUserLoginModel clsUserLoginModel) { if (ModelState.IsValid) { ClsResponseModel <ClsLoginResponse> clsResponse = await this._user.AuthenticateUserAsync(clsUserLoginModel); if (clsUserLoginModel.RememberMe) { int timeout = clsUserLoginModel.RememberMe ? 525600 : 30; var ticket = new FormsAuthenticationTicket(clsUserLoginModel.Mobile, clsUserLoginModel.RememberMe, timeout); string encrypted = FormsAuthentication.Encrypt(ticket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted) { Expires = System.DateTime.Now.AddMinutes(timeout), HttpOnly = true }; Response.Cookies.Add(cookie); } if (clsResponse.IsSuccess) { Session["userId"] = clsResponse.Data.UserId; Session["businessId"] = clsResponse.Data.BusinessId; Session["businessName"] = clsResponse.Data.BusinessName; return(RedirectToAction("Index", "Dashboard")); } else { ModelState.AddModelError("", "Invalid username or password provided"); return(View()); } } else { return(View()); } }
public async Task <ClsResponseModel <ClsLoginResponse> > AuthenticateUserAsync(ClsUserLoginModel clsUserModel) { ClsResponseModel <ClsLoginResponse> clsResponse = new ClsResponseModel <ClsLoginResponse>(); var parameters = new DynamicParameters(); parameters.Add("@Mobile", clsUserModel.Mobile); parameters.Add("@Password", clsUserModel.Password); ClsLoginResponse clsStatus = await _dbContext.QuerySingleAsync <ClsLoginResponse>("Usp_UserLogin", parameters, commandType : CommandType.StoredProcedure); if (clsStatus.TypeName == "U") { clsResponse.IsSuccess = true; clsResponse.ErrorCode = 200; clsResponse.Message = "Success"; clsResponse.Data = clsStatus; } else { clsResponse.IsSuccess = false; clsResponse.ErrorCode = 400; clsResponse.Message = "Failed"; } return(clsResponse); }