示例#1
0
        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;
                }
            }
        }
示例#2
0
        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"));
            }
        }