hn-dotnet/Application/GetLink/GetLinkQueryHandler.cs

26 lines
639 B
C#

using System.Threading;
using System.Linq;
using System.Threading.Tasks;
using MediatR;
namespace HN.Application
{
public sealed class GetLinkQueryHandler : IRequestHandler<GetLinkQuery, LinkDTO>
{
private readonly IDbContext _context;
public GetLinkQueryHandler(IDbContext context)
{
_context = context;
}
public Task<LinkDTO> Handle(GetLinkQuery request, CancellationToken cancellationToken)
{
var result = from link in _context.Links
where link.Id == request.Id
select new LinkDTO(link);
return Task.FromResult(result.FirstOrDefault());
}
}
}