From b321b0618df6e78a026ff5cc06b55da68fa5cbf1 Mon Sep 17 00:00:00 2001 From: Mike Alhayek Date: Sat, 20 Jan 2024 20:51:11 -0800 Subject: [PATCH 1/2] Cleanup ISmsService --- .../OrchardCore.Sms/Controllers/AdminController.cs | 9 +++------ .../OrchardCore.Sms.Abstractions/ISmsProviderResolver.cs | 4 ++-- .../OrchardCore.Sms.Abstractions/ISmsService.cs | 6 ++---- .../OrchardCore.Sms.Abstractions/SmsResult.cs | 7 +++++-- .../OrchardCore.Sms.Core/Services/SmsService.cs | 9 +++++---- 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Sms/Controllers/AdminController.cs b/src/OrchardCore.Modules/OrchardCore.Sms/Controllers/AdminController.cs index aa425bc3135..e2b1228e2de 100644 --- a/src/OrchardCore.Modules/OrchardCore.Sms/Controllers/AdminController.cs +++ b/src/OrchardCore.Modules/OrchardCore.Sms/Controllers/AdminController.cs @@ -18,7 +18,6 @@ public class AdminController : Controller private readonly INotifier _notifier; private readonly IAuthorizationService _authorizationService; private readonly ISmsProviderResolver _smsProviderResolver; - private readonly ISmsService _smsService; protected readonly IHtmlLocalizer H; protected readonly IStringLocalizer S; @@ -27,7 +26,6 @@ public AdminController( IOptions smsProviderOptions, IPhoneFormatValidator phoneFormatValidator, ISmsProviderResolver smsProviderResolver, - ISmsService smsService, INotifier notifier, IAuthorizationService authorizationService, IHtmlLocalizer htmlLocalizer, @@ -36,7 +34,6 @@ public AdminController( _smsProviderOptions = smsProviderOptions.Value; _phoneFormatValidator = phoneFormatValidator; _smsProviderResolver = smsProviderResolver; - _smsService = smsService; _notifier = notifier; _authorizationService = authorizationService; H = htmlLocalizer; @@ -72,7 +69,7 @@ public async Task Test(SmsTestViewModel model) if (provider is null) { - ModelState.AddModelError(nameof(model.PhoneNumber), S["Please select a valid provider."]); + ModelState.AddModelError(nameof(model.Provider), S["Please select a valid provider."]); } else if (!_phoneFormatValidator.IsValid(model.PhoneNumber)) { @@ -80,11 +77,11 @@ public async Task Test(SmsTestViewModel model) } else { - var result = await _smsService.SendAsync(new SmsMessage() + var result = await provider.SendAsync(new SmsMessage() { To = model.PhoneNumber, Body = S["This is a test SMS message."] - }, provider); + }); if (result.Succeeded) { diff --git a/src/OrchardCore/OrchardCore.Sms.Abstractions/ISmsProviderResolver.cs b/src/OrchardCore/OrchardCore.Sms.Abstractions/ISmsProviderResolver.cs index c599866d3df..15aaabfcbcb 100644 --- a/src/OrchardCore/OrchardCore.Sms.Abstractions/ISmsProviderResolver.cs +++ b/src/OrchardCore/OrchardCore.Sms.Abstractions/ISmsProviderResolver.cs @@ -5,8 +5,8 @@ namespace OrchardCore.Sms; public interface ISmsProviderResolver { /// - /// Gets the SMS provider for the given name. - /// When null is null or empty, it gets the default SMS provider. + /// Gets the SMS provider for the technical given name. + /// When null or empty string is provided, it returns the default SMS provider. /// /// The key of the SMS provider /// Instance ISmsProvider or null when no service found. diff --git a/src/OrchardCore/OrchardCore.Sms.Abstractions/ISmsService.cs b/src/OrchardCore/OrchardCore.Sms.Abstractions/ISmsService.cs index e6664eeb830..6e572f632e7 100644 --- a/src/OrchardCore/OrchardCore.Sms.Abstractions/ISmsService.cs +++ b/src/OrchardCore/OrchardCore.Sms.Abstractions/ISmsService.cs @@ -5,11 +5,9 @@ namespace OrchardCore.Sms; public interface ISmsService { /// - /// Send the given message. + /// Send the given message using the default provider. /// /// The message to send. - /// An SMS Provider to use. When null, we sent using the default provider. /// SmsResult object. - Task SendAsync(SmsMessage message, ISmsProvider provider = null); - + Task SendAsync(SmsMessage message); } diff --git a/src/OrchardCore/OrchardCore.Sms.Abstractions/SmsResult.cs b/src/OrchardCore/OrchardCore.Sms.Abstractions/SmsResult.cs index 9b2b0223d38..f1fc52996ce 100644 --- a/src/OrchardCore/OrchardCore.Sms.Abstractions/SmsResult.cs +++ b/src/OrchardCore/OrchardCore.Sms.Abstractions/SmsResult.cs @@ -8,7 +8,10 @@ public class SmsResult /// /// Returns an indicating a successful SMS operation. /// - public static SmsResult Success { get; } = new() { Succeeded = true }; + public readonly static SmsResult Success = new() + { + Succeeded = true + }; /// /// An containing an errors that occurred during the SMS operation. @@ -33,6 +36,6 @@ public static SmsResult Failed(params LocalizedString[] errors) => new() { Succeeded = false, - Errors = errors + Errors = errors ?? [], }; } diff --git a/src/OrchardCore/OrchardCore.Sms.Core/Services/SmsService.cs b/src/OrchardCore/OrchardCore.Sms.Core/Services/SmsService.cs index 38b49f4c3b3..eaad32934af 100644 --- a/src/OrchardCore/OrchardCore.Sms.Core/Services/SmsService.cs +++ b/src/OrchardCore/OrchardCore.Sms.Core/Services/SmsService.cs @@ -6,6 +6,7 @@ namespace OrchardCore.Sms.Services; public class SmsService : ISmsService { private readonly ISmsProviderResolver _smsProviderResolver; + private ISmsProvider _provider; protected readonly IStringLocalizer S; @@ -17,15 +18,15 @@ public SmsService( S = stringLocalizer; } - public async Task SendAsync(SmsMessage message, ISmsProvider provider = null) + public async Task SendAsync(SmsMessage message) { - provider ??= await _smsProviderResolver.GetAsync(); + _provider ??= await _smsProviderResolver.GetAsync(); - if (provider == null) + if (_provider == null) { return SmsResult.Failed(S["SMS settings must be configured before an SMS message can be sent."]); } - return await provider.SendAsync(message); + return await _provider.SendAsync(message); } } From fb9c74a42b074c7f77daa24ff07bf769bcb879db Mon Sep 17 00:00:00 2001 From: Mike Alhayek Date: Sat, 20 Jan 2024 20:53:03 -0800 Subject: [PATCH 2/2] use language keywords --- src/OrchardCore/OrchardCore.Sms.Core/Services/SmsService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OrchardCore/OrchardCore.Sms.Core/Services/SmsService.cs b/src/OrchardCore/OrchardCore.Sms.Core/Services/SmsService.cs index eaad32934af..8c31d811f7f 100644 --- a/src/OrchardCore/OrchardCore.Sms.Core/Services/SmsService.cs +++ b/src/OrchardCore/OrchardCore.Sms.Core/Services/SmsService.cs @@ -22,7 +22,7 @@ public async Task SendAsync(SmsMessage message) { _provider ??= await _smsProviderResolver.GetAsync(); - if (_provider == null) + if (_provider is null) { return SmsResult.Failed(S["SMS settings must be configured before an SMS message can be sent."]); }