Example #1
0
        public ResponseModel VerifyPhone(VerifyPhoneNumberCustomeModel model)
        {
            var response = new ResponseModel
            {
                Success  = false,
                Messages = new List <string>()
            };

            if (model == null || string.IsNullOrEmpty(model.UserId) || string.IsNullOrEmpty(model.Code))
            {
                return(new ResponseModel
                {
                    Messages = new List <string> {
                        "Data not mapped"
                    },
                });
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var user = UserManager.FindById(model.UserId);
                    if (user != null)
                    {
                        var status = UserManager.ChangePhoneNumber(user.Id, user.PhoneNumber, model.Code);
                        //  if (status.Succeeded)
                        {
                            user.PhoneNumberConfirmed = true;
                            UserManager.Update(user);
                            response.Success = true;
                            response.Messages.Add("Your phone number has been verified.");
                        }
                        //else
                        //{
                        //    response.Messages.Add("Invalid Code");
                        //}
                    }
                    else
                    {
                        response.Messages.Add("User not found");
                    }
                }
                catch (Exception error)
                {
                    response.Messages.Add(error.InnerException.Message);
                }
            }
            else
            {
                foreach (var error in ModelState.Values.SelectMany(obj => obj.Errors))
                {
                    response.Messages.Add(error.ErrorMessage);
                }
            }
            return(response);
        }
        public async Task <ActionResult> ResetPassword(VerifyPhoneNumberCustomeModel model)
        {
            try
            {
                //if (!ModelState.IsValid)
                //{
                //    return Json(new { Success = false, Message = "Either UserId or Code is empty" }, JsonRequestBehavior.AllowGet);
                //}
                string        actionPath      = "User/RequestResetPasswordWithCode";
                ResponseModel responseContent = null;
                using (HttpClient client = new HttpClient())
                {
                    client.BaseAddress = new Uri(CommonFunction.GetWebAPIBaseURL());
                    client.DefaultRequestHeaders.Authorization = AuthHandler.AuthenticationHeader();

                    //client.BaseAddress = new Uri(path);
                    HttpResponseMessage response = await client.PostAsJsonAsync(actionPath, model);

                    if (response.IsSuccessStatusCode)
                    {
                        responseContent = await response.Content.ReadAsAsync <ResponseModel>();
                    }
                }
                if (responseContent != null && responseContent.Success)
                {
                    //var json = JsonConvert.SerializeObject(responseContent.Data);
                    //var itemsResponseModel = JsonConvert.DeserializeObject<UserModel>(json);
                    var user = UserManager.FindById(model.UserId);
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    return(Json(new { Success = responseContent.Success, Message = String.Join(" ", responseContent.Messages), Object = new { model.UserId } }, JsonRequestBehavior.AllowGet));
                }
                return(Json(new { Success = false, Message = String.Join(" ", responseContent.Messages) }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { Success = false, Message = "Something went wrong while reseting password" }, JsonRequestBehavior.AllowGet));
            }
        }