diff --git a/EnvelopeGenerator.Application/Services/EnvelopeSmsHandler.cs b/EnvelopeGenerator.Application/Services/EnvelopeSmsHandler.cs index dfea09e6..36eef84f 100644 --- a/EnvelopeGenerator.Application/Services/EnvelopeSmsHandler.cs +++ b/EnvelopeGenerator.Application/Services/EnvelopeSmsHandler.cs @@ -37,13 +37,14 @@ public class EnvelopeSmsHandler : IEnvelopeSmsHandler var key = string.Format(_totpSmsParams.Expiration.CacheKeyFormat, er_secret.EnvelopeId, er_secret.ReceiverId); var expiration = await _dCache.GetDateTimeAsync(key, cToken); - if(expiration is DateTime expirationDateTime && expirationDateTime < DateTime.Now) + if(expiration is DateTime expirationDateTime && expirationDateTime >= DateTime.Now) return (null, expirationDateTime); else { var new_expiration = DateTime.Now.AddSeconds(_totpSmsParams.TotpStep); var totp = _authenticator.GenerateTotp(er_secret.Receiver!.TotpSecretkey!, _totpSmsParams.TotpStep); var msg = string.Format(_totpSmsParams.Format, totp, new_expiration.ToString(_totpSmsParams.Expiration.Format, _totpSmsParams.Expiration.CultureInfo)); + await _dCache.SetDateTimeAsync(key, new_expiration, cToken: cToken); return (await _sender.SendSmsAsync(er_secret.PhoneNumber!, msg), new_expiration); } } diff --git a/EnvelopeGenerator.Web/Controllers/HomeController.cs b/EnvelopeGenerator.Web/Controllers/HomeController.cs index 7d795819..cebebce7 100644 --- a/EnvelopeGenerator.Web/Controllers/HomeController.cs +++ b/EnvelopeGenerator.Web/Controllers/HomeController.cs @@ -160,7 +160,7 @@ public class HomeController : ViewControllerBase { var (smsRes, expiration) = await _envSmsHandler.SendTotpAsync(er_secret); - if (smsRes is not null && smsRes.Failed) + if (smsRes?.Failed ?? false) { var res_json = JsonConvert.SerializeObject(smsRes); _logger.LogEnvelopeError(envelopeReceiverId: envelopeReceiverId, message: $"An unexpected error occurred while sending an SMS code. Response: ${res_json}");