public async Task <IEnumerable <ProductDto> > Handle(FindAllProductsQuery request, CancellationToken cancellationToken) { var result = await _productRepository.FindAllActive(); return(result.Select(p => new ProductDto { Code = p.Code, Name = p.Name, Description = p.Description, Image = p.Image, MaxNumberOfInsured = p.MaxNumberOfInsured, Questions = p.Questions != null ? ProductAdapter.FromQuestionsToQuestionDtos(p.Questions.ToList()) : null, Covers = p.Covers.Any() ? ProductAdapter.FromCoversToCoverDtos(p.Covers.ToList()) : null }).ToList()); }
public async Task <ProductDto> Handle(FindProductByCodeQuery request, CancellationToken cancellationToken) { var result = await _productRepository.FindOne(request.ProductCode); return(result != null ? new ProductDto { Code = result.Code, Name = result.Name, Description = result.Description, Image = result.Image, MaxNumberOfInsured = result.MaxNumberOfInsured, Questions = result.Questions != null?ProductAdapter.FromQuestionsToQuestionDtos(result.Questions.ToList()) : null, Covers = result.Covers != null?ProductAdapter.FromCoversToCoverDtos(result.Covers.ToList()) : null } : null); }