public ActionResult <ItemResponse <string> > UpdatePhone(UserProfilesUpdatePhoneRequest model)
        {
            ActionResult          result   = null;
            ItemResponse <string> response = null;
            int    userId        = _authService.GetCurrentUserId();
            Guid   preSmsToken   = Guid.NewGuid();
            string smsTokenBuild = preSmsToken.ToString();
            string smsToken      = smsTokenBuild.Substring(smsTokenBuild.Length - 4);

            try
            {
                if (_userProfileServices.PhoneExists(model.PhoneNumber, userId) &&
                    _userProfileServices.VerifyConfirmPhone(smsToken, userId) == true)
                {
                    result = NotFound404(new ErrorResponse("That number already exists in our database."));
                }
                else
                {
                    response      = new ItemResponse <string>();
                    response.Item = _userProfileServices.UpdatePhone(model, userId, smsToken);
                    _userProfileServices.UnverifyConfirmPhone(smsToken, userId);

                    _smsServices.ConfirmSms(model.PhoneNumber, smsToken);

                    result = Ok200(response);
                }
            }
            catch (Exception e)
            {
                Logger.LogError(e.ToString());

                result = StatusCode(500, new ErrorResponse("Internal Server Error"));
            }
            return(result);
        }
 public string UpdatePhone(UserProfilesUpdatePhoneRequest model, int userId, string smsToken)
 {
     _dataProvider.ExecuteNonQuery("dbo.UserProfiles_UpdatePhoneNumber", (parameters) =>
     {
         parameters.AddWithValue("@PhoneNumber", model.PhoneNumber);
         parameters.AddWithValue("@UserId", userId);
         parameters.AddWithValue("@SmsToken", smsToken);
     });
     return(smsToken);
 }
        public ActionResult <SuccessResponse> VerifySmsToken(UserProfilesUpdatePhoneRequest model)
        {
            ActionResult    result   = null;
            SuccessResponse response = null;
            int             userId   = _authService.GetCurrentUserId();

            try
            {
                _userProfileServices.VerifyConfirmPhone(model.SmsToken, userId);
                response = new SuccessResponse();
                result   = Ok200(response);
            }
            catch (Exception e)
            {
                Logger.LogError(e.ToString());
                result = StatusCode(500, new ErrorResponse("Internal Server Error"));
            }

            return(result);
        }