26 lines
639 B
C#
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());
|
|
}
|
|
}
|
|
} |