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)); } }