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);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> InsertServiceOrder([FromBody] ServiceOrderDetailDTO serviceOrderDetail)
        {
            try
            {
                await _mediator.Send(new InsertServiceOrderCommand(serviceOrderDetail));

                return(Ok(new
                {
                    Ok = true,
                    Message = "Registro insertado exitosamente"
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(new
                {
                    Ok = false,
                    Error = e.Message
                }));
            }
        }
 public InsertServiceOrderCommand(ServiceOrderDetailDTO serviceOrderDetail)
 {
     ServiceOrderDetail = serviceOrderDetail;
 }