oliverbooth.dev/OliverBooth.Common/Services/ContactService.cs

28 lines
926 B
C#

using Microsoft.EntityFrameworkCore;
using OliverBooth.Common.Data.Web;
using OliverBooth.Common.Data.Web.Contact;
namespace OliverBooth.Common.Services;
/// <inheritdoc cref="IContactService" />
internal sealed class ContactService : IContactService
{
private readonly IDbContextFactory<WebContext> _dbContextFactory;
/// <summary>
/// Initializes a new instance of the <see cref="ContactService" /> class.
/// </summary>
/// <param name="dbContextFactory">The <see cref="IDbContextFactory{TContext}" />.</param>
public ContactService(IDbContextFactory<WebContext> dbContextFactory)
{
_dbContextFactory = dbContextFactory;
}
/// <inheritdoc />
public IReadOnlyCollection<IBlacklistEntry> GetBlacklist()
{
using WebContext context = _dbContextFactory.CreateDbContext();
return context.ContactBlacklist.OrderBy(b => b.EmailAddress).ToArray();
}
}