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