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);
        }