using AutoMapper; using UserManagement.Data.Dto; using UserManagement.Helper; using UserManagement.MediatR.Commands; using UserManagement.Repository; using MediatR; using Microsoft.EntityFrameworkCore; using System.Threading; using System.Threading.Tasks; namespace UserManagement.MediatR.Handlers { public class GetPageHelperByCodeCommandHandler : IRequestHandler> { private readonly IPageHelperRepository _pageHelperRepository; private readonly IMapper _mapper; public GetPageHelperByCodeCommandHandler( IPageHelperRepository pageHelperRepository, IMapper mapper ) { _pageHelperRepository = pageHelperRepository; _mapper = mapper; } public async Task> Handle(GetPageHelperByCodeCommand request, CancellationToken cancellationToken) { var entity = await _pageHelperRepository.All.FirstOrDefaultAsync(c => c.Code == request.Code); if (entity != null) { var dto = _mapper.Map(entity); return ServiceResponse.ReturnResultWith200(dto); } return ServiceResponse.Return404("Page Helper not found"); } } }