Browse Source

Resolved #1465: Remove Sync API for IEmailSender

pull/1467/head
Halil İbrahim Kalkan 7 years ago
parent
commit
f5e6d52245
  1. 23
      framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryExtensions.cs
  2. 3
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/BackgroundEmailSendingJob.cs
  3. 27
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs
  4. 20
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/IEmailSender.cs

23
framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryExtensions.cs

@ -5,7 +5,6 @@ using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
using Volo.Abp.DynamicProxy;
using Volo.Abp.Threading;
namespace Volo.Abp.Domain.Repositories
{
@ -27,17 +26,6 @@ namespace Volo.Abp.Domain.Repositories
}
}
public static void EnsureCollectionLoaded<TEntity, TKey, TProperty>(
this IBasicRepository<TEntity, TKey> repository,
TEntity entity,
Expression<Func<TEntity, IEnumerable<TProperty>>> propertyExpression
)
where TEntity : class, IEntity<TKey>
where TProperty : class
{
AsyncHelper.RunSync(() => repository.EnsureCollectionLoadedAsync(entity, propertyExpression));
}
public static async Task EnsurePropertyLoadedAsync<TEntity, TKey, TProperty>(
this IBasicRepository<TEntity, TKey> repository,
TEntity entity,
@ -53,16 +41,5 @@ namespace Volo.Abp.Domain.Repositories
await repo.EnsurePropertyLoadedAsync(entity, propertyExpression, cancellationToken);
}
}
public static void EnsurePropertyLoaded<TEntity, TKey, TProperty>(
this IBasicRepository<TEntity, TKey> repository,
TEntity entity,
Expression<Func<TEntity, TProperty>> propertyExpression
)
where TEntity : class, IEntity<TKey>
where TProperty : class
{
AsyncHelper.RunSync(() => repository.EnsurePropertyLoadedAsync(entity, propertyExpression));
}
}
}

3
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/BackgroundEmailSendingJob.cs

@ -1,5 +1,6 @@
using Volo.Abp.BackgroundJobs;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Threading;
namespace Volo.Abp.Emailing
{
@ -14,7 +15,7 @@ namespace Volo.Abp.Emailing
public override void Execute(BackgroundEmailSendingJobArgs args)
{
EmailSender.Send(args.To, args.Subject, args.Body, args.IsBodyHtml);
AsyncHelper.RunSync(() => EmailSender.SendAsync(args.To, args.Subject, args.Body, args.IsBodyHtml));
}
}
}

27
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs

@ -3,7 +3,6 @@ using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.Threading;
namespace Volo.Abp.Emailing
{
@ -36,27 +35,11 @@ namespace Volo.Abp.Emailing
});
}
public virtual void Send(string to, string subject, string body, bool isBodyHtml = true)
{
Send(new MailMessage
{
To = { to },
Subject = subject,
Body = body,
IsBodyHtml = isBodyHtml
});
}
public virtual async Task SendAsync(string from, string to, string subject, string body, bool isBodyHtml = true)
{
await SendAsync(new MailMessage(from, to, subject, body) { IsBodyHtml = isBodyHtml });
}
public virtual void Send(string from, string to, string subject, string body, bool isBodyHtml = true)
{
Send(new MailMessage(from, to, subject, body) { IsBodyHtml = isBodyHtml });
}
public virtual async Task SendAsync(MailMessage mail, bool normalize = true)
{
if (normalize)
@ -86,16 +69,6 @@ namespace Volo.Abp.Emailing
);
}
public virtual void Send(MailMessage mail, bool normalize = true)
{
if (normalize)
{
AsyncHelper.RunSync(() => NormalizeMailAsync(mail));
}
SendEmail(mail);
}
/// <summary>
/// Should implement this method to send email in derived classes.
/// </summary>

20
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/IEmailSender.cs

@ -13,31 +13,11 @@ namespace Volo.Abp.Emailing
/// </summary>
Task SendAsync(string to, string subject, string body, bool isBodyHtml = true);
/// <summary>
/// Sends an email.
/// </summary>
void Send(string to, string subject, string body, bool isBodyHtml = true);
/// <summary>
/// Sends an email.
/// </summary>
Task SendAsync(string from, string to, string subject, string body, bool isBodyHtml = true);
/// <summary>
/// Sends an email.
/// </summary>
void Send(string from, string to, string subject, string body, bool isBodyHtml = true);
/// <summary>
/// Sends an email.
/// </summary>
/// <param name="mail">Mail to be sent</param>
/// <param name="normalize">
/// Should normalize email?
/// If true, it sets sender address/name if it's not set before and makes mail encoding UTF-8.
/// </param>
void Send(MailMessage mail, bool normalize = true);
/// <summary>
/// Sends an email.
/// </summary>

Loading…
Cancel
Save