public HttpResponseMessage TwoStepVerification([FromBody] JObject json) { var data = new Dictionary <string, object>(); var check = json.GetValue("CHECK").ToString(); var code = json.GetValue("CODE").ToString().ToNumber <int>(); var redisKey = $"ConfirmCode:{AccessToken}"; var codeFromRedis = TokenManager.GetConfirmCode(redisKey); if (check.ToNumber <int>() == 1 && (codeFromRedis.ToNumber <int>() != code || codeFromRedis.ToNumber <int>() == 0)) { ThrowError(-102); } DataProviderManager <PKG_USERS> .Provider.TwoStepVerification(AuthUser.ID, AuthUser.SubUserID, check, out int count, out int turnOnOff); if (turnOnOff == 0) { ThrowError(-2); } TokenManager.DeleteConfirmCode(redisKey); AuthUser.MobileVerification = (turnOnOff == 2 || turnOnOff == 0) ? 0 : 1; TokenManager.UpdateAuthUser(AccessToken, AuthUser); data.Add("DATA_COUNT", count); data.Add("STATUS", turnOnOff); return(Success(data)); }
public HttpResponseMessage ConfirmEmailCode([FromBody] JObject json) { var data = new Dictionary <string, object>(); var email = json.GetValue("EMAIL").ToString(); var code = json.GetValue("CODE").ToString(); if (string.IsNullOrEmpty(email) && !CommonFunctions.ValidateEmail(email)) { ThrowError(-10); } var redisKey = $"ConfirmCode:{AccessToken}"; var codeFromRedis = TokenManager.GetConfirmCode(redisKey); if (string.IsNullOrEmpty(codeFromRedis)) { ThrowError(-108); } if (codeFromRedis == code) { DataProviderManager <PKG_USER_PARAMETERS> .Provider.UpdateUserEmail(AuthUser.ID, AuthUser.SubUserID, email); var status = DataProviderManager <PKG_USERS> .Provider.NotificationAboutChange(AuthUser.Phone, null, AuthUser.Email, "ელ-ფოსტა"); AuthUser.Email = email; TokenManager.UpdateAuthUser(AccessToken, AuthUser); TokenManager.DeleteConfirmCode(redisKey); } else { ThrowError(-102); } return(Success(data)); }
public HttpResponseMessage ConfirmCode([FromBody] JObject json) { var data = new Dictionary <string, object>(); var code = json.GetValue("CODE").ToString(); var number = json.GetValue("PHONE").ToString(); if (string.IsNullOrEmpty(code) || string.IsNullOrEmpty(number)) { ThrowError(-9); } var redisKey = $"ConfirmCode:{AccessToken}"; var codeFromRedis = TokenManager.GetConfirmCode(redisKey); if (string.IsNullOrEmpty(codeFromRedis)) { ThrowError(-108); } if (codeFromRedis == code) { var oldNumber = AuthUser.Phone; DataProviderManager <PKG_USER_PARAMETERS> .Provider.UpdateUserPhone(AuthUser.ID, AuthUser.SubUserID, number); AuthUser.Phone = number; TokenManager.UpdateAuthUser(AccessToken, AuthUser); data.Add("PHONE", number); var status = DataProviderManager <PKG_USERS> .Provider.NotificationAboutChange(oldNumber, number, AuthUser.Email, "ტელეფონის ნომერი"); data.Add("STATUS", status); TokenManager.DeleteConfirmCode(redisKey); return(Success(data)); } else { ThrowError(-102); } return(Success(data)); }