/// <summary> /// Sends verification code to logged-in user's phone number. /// <para><b> IMPORTANT INFORMATION : The message sending service has not yet been integrated. /// So this method will not send message to the user's gsm number. /// Instead of returns verification code for testing. </b></para> /// </summary> /// <returns></returns> public async Task <string> SendPhoneNumberVerificationMessageAsync() { CheckLoginStatus(); var user = await _userRepository.GetFirstOrDefaultAsync(a => a.UserName == _userName).ConfigureAwait(false); if (string.IsNullOrWhiteSpace(user?.PhoneNumber)) { throw new MilvaUserFriendlyException("IdentityInvalidPhoneNumber"); } var verificationCode = GenerateVerificationCode(); if (!_redisCacheService.IsConnected()) { try { await _redisCacheService.ConnectAsync().ConfigureAwait(false); } catch (Exception) { _ = _milvaLogger.LogFatalAsync("Redis is not available!!", MailSubject.ShutDown); throw new MilvaUserFriendlyException("CannotSendMessageNow"); } } await _redisCacheService.SetAsync($"pvc_{_userName}", verificationCode, TimeSpan.FromMinutes(3)).ConfigureAwait(false); //Doğrulama kodunu mesaj olarak gönderme entegrasyonu buraya eklenecek. //O yüzden şimdilik geriye dönüyoruz bu kodu. return(verificationCode); }