using System.Threading; using System.Linq; using System.Threading.Tasks; using MediatR; namespace HN.Application { public sealed class GetLinkQueryHandler : IRequestHandler { private readonly IDbContext _context; public GetLinkQueryHandler(IDbContext context) { _context = context; } public Task 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()); } } }