From 7d83a290e07c5272b8aff248573e8ac3828aeff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Sun, 27 May 2018 23:52:47 +0300 Subject: [PATCH] Created SMS Sending abstraction #36 --- Volo.Abp.sln | 9 ++++++- .../bootstrap/dom-event-handlers.js | 2 +- .../Volo.Abp.Emailing.csproj | 1 - src/Volo.Abp.Sms/Volo.Abp.Sms.csproj | 20 ++++++++++++++++ src/Volo.Abp.Sms/Volo/Abp/Sms/AbpSmsModule.cs | 13 ++++++++++ src/Volo.Abp.Sms/Volo/Abp/Sms/ISmsSender.cs | 9 +++++++ .../Volo/Abp/Sms/NullSmsSender.cs | 24 +++++++++++++++++++ 7 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 src/Volo.Abp.Sms/Volo.Abp.Sms.csproj create mode 100644 src/Volo.Abp.Sms/Volo/Abp/Sms/AbpSmsModule.cs create mode 100644 src/Volo.Abp.Sms/Volo/Abp/Sms/ISmsSender.cs create mode 100644 src/Volo.Abp.Sms/Volo/Abp/Sms/NullSmsSender.cs diff --git a/Volo.Abp.sln b/Volo.Abp.sln index bdecbf29e5..cc2a6643fe 100644 --- a/Volo.Abp.sln +++ b/Volo.Abp.sln @@ -184,7 +184,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.UI. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests", "test\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests.csproj", "{869F7453-7DDC-4915-B92C-7861466AB68B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Emailing", "src\Volo.Abp.Emailing\Volo.Abp.Emailing.csproj", "{8B1CB44B-BA40-4C78-9447-A7864126D7C3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Emailing", "src\Volo.Abp.Emailing\Volo.Abp.Emailing.csproj", "{8B1CB44B-BA40-4C78-9447-A7864126D7C3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Sms", "src\Volo.Abp.Sms\Volo.Abp.Sms.csproj", "{8BB10746-8BAD-4317-8EE5-A36805DB93F6}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -520,6 +522,10 @@ Global {8B1CB44B-BA40-4C78-9447-A7864126D7C3}.Debug|Any CPU.Build.0 = Debug|Any CPU {8B1CB44B-BA40-4C78-9447-A7864126D7C3}.Release|Any CPU.ActiveCfg = Release|Any CPU {8B1CB44B-BA40-4C78-9447-A7864126D7C3}.Release|Any CPU.Build.0 = Release|Any CPU + {8BB10746-8BAD-4317-8EE5-A36805DB93F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8BB10746-8BAD-4317-8EE5-A36805DB93F6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8BB10746-8BAD-4317-8EE5-A36805DB93F6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8BB10746-8BAD-4317-8EE5-A36805DB93F6}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -609,6 +615,7 @@ Global {57E29185-6DAF-4A41-8CE0-3F07EE3E289A} = {447C8A77-E5F0-4538-8687-7383196D04EA} {869F7453-7DDC-4915-B92C-7861466AB68B} = {447C8A77-E5F0-4538-8687-7383196D04EA} {8B1CB44B-BA40-4C78-9447-A7864126D7C3} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} + {8BB10746-8BAD-4317-8EE5-A36805DB93F6} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5} diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore.mvc.ui.theme.shared/bootstrap/dom-event-handlers.js b/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore.mvc.ui.theme.shared/bootstrap/dom-event-handlers.js index cf19c05135..db56e86c98 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore.mvc.ui.theme.shared/bootstrap/dom-event-handlers.js +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore.mvc.ui.theme.shared/bootstrap/dom-event-handlers.js @@ -82,7 +82,7 @@ container: 'body' }); - $('[data-auto-focus="true"]').first().findWithSelf('input').focus(); + $('[data-auto-focus="true"]').first().findWithSelf('input,select').focus(); }); })(jQuery); \ No newline at end of file diff --git a/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj b/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj index 9aacc1cb1b..f056e422d1 100644 --- a/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj +++ b/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj @@ -14,7 +14,6 @@ - diff --git a/src/Volo.Abp.Sms/Volo.Abp.Sms.csproj b/src/Volo.Abp.Sms/Volo.Abp.Sms.csproj new file mode 100644 index 0000000000..782294de46 --- /dev/null +++ b/src/Volo.Abp.Sms/Volo.Abp.Sms.csproj @@ -0,0 +1,20 @@ + + + + + + netstandard2.0 + Volo.Abp.Sms + Volo.Abp.Sms + $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + false + false + false + + + + + + + + diff --git a/src/Volo.Abp.Sms/Volo/Abp/Sms/AbpSmsModule.cs b/src/Volo.Abp.Sms/Volo/Abp/Sms/AbpSmsModule.cs new file mode 100644 index 0000000000..33464dead8 --- /dev/null +++ b/src/Volo.Abp.Sms/Volo/Abp/Sms/AbpSmsModule.cs @@ -0,0 +1,13 @@ +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Modularity; + +namespace Volo.Abp.Sms +{ + public class AbpSmsModule : AbpModule + { + public override void ConfigureServices(IServiceCollection services) + { + services.AddAssemblyOf(); + } + } +} diff --git a/src/Volo.Abp.Sms/Volo/Abp/Sms/ISmsSender.cs b/src/Volo.Abp.Sms/Volo/Abp/Sms/ISmsSender.cs new file mode 100644 index 0000000000..9031465033 --- /dev/null +++ b/src/Volo.Abp.Sms/Volo/Abp/Sms/ISmsSender.cs @@ -0,0 +1,9 @@ +using System.Threading.Tasks; + +namespace Volo.Abp.Sms +{ + public interface ISmsSender + { + Task SendAsync(string text); + } +} diff --git a/src/Volo.Abp.Sms/Volo/Abp/Sms/NullSmsSender.cs b/src/Volo.Abp.Sms/Volo/Abp/Sms/NullSmsSender.cs new file mode 100644 index 0000000000..643ba50c23 --- /dev/null +++ b/src/Volo.Abp.Sms/Volo/Abp/Sms/NullSmsSender.cs @@ -0,0 +1,24 @@ +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.Sms +{ + public class NullSmsSender : ISmsSender, ISingletonDependency + { + public ILogger Logger { get; set; } + + public NullSmsSender() + { + Logger = NullLogger.Instance; + } + + public Task SendAsync(string text) + { + Logger.LogWarning($"SMS Sending was not implemented! Using {nameof(NullSmsSender)}:"); + Logger.LogWarning("SMS Text: " + text); + return Task.CompletedTask; + } + } +} \ No newline at end of file