Esempio n. 1
0
        public HttpResponseMessage RequestResetPasswordWithCode(ChnageUserPasswordModel usermodel)
        {
            if (string.IsNullOrEmpty(usermodel?.Code) || string.IsNullOrEmpty(usermodel.UserId) ||
                string.IsNullOrEmpty(usermodel.Password))
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel
                {
                    Success = false,
                    Message = "Data not mapped",
                    Data = usermodel
                }));
            }
            var user = UserServices.GetUserById(usermodel.UserId);

            if (user == null)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel
                {
                    Success = false,
                    Message = "User does not exist with UserId " + usermodel.UserId,
                    Data = usermodel
                }));
            }

            var localUsermanager = Request.GetOwinContext().GetUserManager <ApplicationUserManager>();
            var status           = localUsermanager.ChangePhoneNumber(user.Id, user.Mobile, usermodel.Code);

            if (!status.Succeeded)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel
                {
                    Success = false,
                    Message = "Invalid/Expired verification code. Try new code",
                    Data = usermodel
                }));
            }
            ApplicationUser appuser = localUsermanager.FindById(user.Id);

            appuser.PasswordHash = localUsermanager.PasswordHasher.HashPassword(usermodel.Password);
            var result = localUsermanager.Update(appuser);

            if (!result.Succeeded)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel
                {
                    Success = false,
                    Message = "Failed to update password",
                    Data = usermodel
                }));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel
            {
                Success = true,
                Message = "Password reset successfully",
                Data = usermodel
            }));
        }
Esempio n. 2
0
        public JsonResult ResetUserPasswordAjax(ChnageUserPasswordModel model)
        {
            if (string.IsNullOrEmpty(model?.Code) || string.IsNullOrEmpty(model.UserId) ||
                string.IsNullOrEmpty(model.Password))
            {
                return(Json(new { status = false, message = "Bad Request" }, JsonRequestBehavior.AllowGet));
            }

            var user = UserServices.GetUserById(model.UserId);

            var status = UserManager.ChangePhoneNumber(user.Id, user.Mobile, model.Code);

            if (!status.Succeeded)
            {
                return(Json(new { status = false, message = "Invalid/Expired verification code. Try new code" }, JsonRequestBehavior.AllowGet));
            }
            var isPass = ChangePassword(new AdminModels.LocalUser {
                Id = user.Id, Password = model.Password
            });

            return(Json(new { status = isPass, message = "success" }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 3
0
        public ActionResult ResetUserPassword(string PhoneNumber)
        {
            // mobile number
            PhoneNumber = PhoneNumber.Substring(1).Replace("-", "");
            PhoneNumber = "92" + PhoneNumber;

            var user = UserServices.GetUserByPhone(PhoneNumber);

            if (user == null)
            {
                ModelState.AddModelError("", "Invalid Phone number or user does not exist");
                return(RedirectToAction("Login", "Account"));
            }
            GeneratePhoneCode(user.Id, user.Mobile);
            var model = new ChnageUserPasswordModel
            {
                UserId = user.Id,
                Phone  = user.Mobile
            };

            return(View(model));
        }
Esempio n. 4
0
        public HttpResponseMessage RequestResetPassword(ApiRequestModel usermodel)
        {
            if (usermodel == null || string.IsNullOrEmpty(usermodel.PhoneNumber))
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel
                {
                    Success = false,
                    Message = "Data not mapped",
                    Data = usermodel
                }));
            }
            usermodel.PhoneNumber = usermodel.PhoneNumber.Substring(1).Replace("-", "");
            usermodel.PhoneNumber = "92" + usermodel.PhoneNumber;

            var user = UserServices.GetUserByPhone(usermodel.PhoneNumber);

            if (user == null)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel
                {
                    Success = false,
                    Message = "Invalid Phone number or user does not exist",
                    Data = usermodel
                }));
            }
            GeneratePhoneCodeApiMethod(user.Id, user.Mobile);
            var model = new ChnageUserPasswordModel
            {
                UserId = user.Id,
                Phone  = user.Mobile
            };

            return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel
            {
                Success = true,
                Message = "Verification Code has been sent at " + usermodel.PhoneNumber,
                Data = model
            }));
        }