public async Task <List <ServiceOrderHasProductsDTO> > Handle(GetAllServiceOrdersQuery request,
                                                                      CancellationToken cancellationToken)
        {
            List <ServiceOrderHasProducts> serviceOrderList = await _serviceOrderRepository.GetServiceOrders();

            List <ServiceOrderHasProductsDTO> listResult = new List <ServiceOrderHasProductsDTO>();

            foreach (var item in serviceOrderList)
            {
                ServiceOrderDTO serviceOrderDTO = new ServiceOrderDTO(item.ServiceOrder.ServiceOrderId, item.ServiceOrder.CreationDate,
                                                                      item.ServiceOrder.Status);

                ProductDTO product = new ProductDTO(item.Product.ProductId, item.Product.ProductBrand, item.Product.ProductName,
                                                    item.Product.ProductPrice);

                ServiceOrderDetail service = await _serviceOrderRepository.GetDetail(item.ServiceOrder.ServiceOrderId);

                ServiceOrderDetailDTO serviceOrderDetailDTO = new ServiceOrderDetailDTO(service.ServiceOrderDetailId, (int)service.ServiceType,
                                                                                        service.Price, service.Description,
                                                                                        service.AlternativeAddress);

                listResult.Add(new ServiceOrderHasProductsDTO(
                                   item.ServiceOrdersHasProductsId,
                                   serviceOrderDTO,
                                   product,
                                   serviceOrderDetailDTO
                                   ));
            }
            return(listResult);
        }
        public async Task <List <ServiceOrderHasProductsDTO> > Handle(GetAllServiceOrdersQuery request,
                                                                      CancellationToken cancellationToken)
        {
            List <ServiceOrderHasProducts> serviceOrderList = await _serviceOrderRepository.GetServiceOrders();

            List <ServiceOrderHasProductsDTO> listResult = new List <ServiceOrderHasProductsDTO>();

            foreach (var item in serviceOrderList)
            {
                listResult.Add(new ServiceOrderHasProductsDTO()
                {
                    ServiceOrdersHasProductsId = item.ServiceOrdersHasProductsId,
                    ServiceOrder = new ServiceOrderDTO(item.ServiceOrder.ServiceOrderId, item.ServiceOrder.CreationDate,
                                                       new ClientDTO(item.ServiceOrder.Client.ClientId, item.ServiceOrder.Client.Name,
                                                                     item.ServiceOrder.Client.Lastname, item.ServiceOrder.Client.Phone, item.ServiceOrder.Client.Email,
                                                                     item.ServiceOrder.Client.Address), item.ServiceOrder.Status),
                    Product = new ProductDTO(item.Product.ProductId, item.Product.ProductBrand, item.Product.ProductName,
                                             item.Product.ProductPrice)
                });
            }
            return(listResult);
        }