public Enums.OtpStatus VerifyOTP(string username, string otp) { try { myShop = new MyshopDb(); var isExist = myShop.Gbl_Master_User.Where(user => user.Username.ToLower().Equals(username.ToLower()) && user.IsActive == true && user.IsBlocked == false && user.IsDeleted == false).FirstOrDefault(); if (isExist != null) { var login = myShop.Logins.Where(log => log.UserId.Equals(isExist.UserId) && log.IsDeleted == false && log.IsReset == true).FirstOrDefault(); if (isExist != null) { Enums.OtpStatus status = Utility.VerifyOTP(otp, login.OTPid); if (status == Enums.OtpStatus.Valid) { login.IsReset = false; login.ReserExpireTime = DateTime.Now.AddHours(-1); login.GUID = null; login.ModificationDate = DateTime.Now; login.ModifiedBy = isExist.UserId; login.IsSync = false; myShop.Entry(login).State = EntityState.Modified; myShop.SaveChanges(); return(Enums.OtpStatus.Valid); } return(status); } return(Enums.OtpStatus.InvalidUser); } else { return(Enums.OtpStatus.InvalidUser); } } catch (Exception ex) { return(Enums.OtpStatus.Exception); } finally { if (myShop != null) { myShop = null; } } }
public ActionResult ValidateOtp(FormCollection coll) { string otp = coll.Get("otp"); LoginModel model = new LoginModel(); if (WebSession.Username == null || WebSession.Username == "") { return(RedirectToAction("ForgetPassword")); } Enums.OtpStatus status = model.VerifyOTP(WebSession.Username.ToString(), otp); if (status != Enums.OtpStatus.Valid) { if (status == Enums.OtpStatus.Invalid) { SetAlertMessage(Resource.InvalidOtp, Enums.AlertType.danger); } else if (status == Enums.OtpStatus.Expire) { SetAlertMessage(Resource.ExpireOtp, Enums.AlertType.info); } else if (status == Enums.OtpStatus.InvalidUser) { SetAlertMessage(Resource.UserInvalid, Enums.AlertType.warning); } else if (status == Enums.OtpStatus.Exception) { SetAlertMessage(Resource.Exception, Enums.AlertType.danger); } return(RedirectToAction("InputOtp")); } else { SetAlertMessage(Resource.ValidOTP, Enums.AlertType.success); ViewBag.username = WebSession.Username; return(RedirectToAction("SetPassword")); } }