public async Task <List <JobFormDTO> > Handle(GetAllJobFormsQuery request, CancellationToken cancellationToken)
        {
            List <Domain.Model.Soporte.JobForm> jobForms = await _jobFormRepository.GetJobForms();

            List <JobFormDTO> jobFormDTOs = new List <JobFormDTO>();

            foreach (var item in jobForms)
            {
                ServiceOrderDTO serviceOrderDTO = new ServiceOrderDTO(item.Appointment.ServiceOrder.ServiceOrderId, item.Appointment.ServiceOrder.CreationDate,
                                                                      item.Appointment.ServiceOrder.Status);
                AppointmentDTO appointmentDTO = new AppointmentDTO(
                    item.Appointment.AppointmentId,
                    item.Appointment.Status,
                    item.Appointment.VisitDate,
                    serviceOrderDTO
                    );
                jobFormDTOs.Add(
                    new JobFormDTO(
                        item.JobFormId,
                        item.Detail,
                        item.Date,
                        appointmentDTO
                        ));
            }
            return(jobFormDTOs);
        }
        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);
        }
示例#3
0
        public async Task <JobFormDTO> Handle(GetJobFormByIdQuery request, CancellationToken cancellationToken)
        {
            Domain.Model.Soporte.JobForm jobForm = await _jobFormRepository.GetJobFormById(request.Id);

            ServiceOrderDTO serviceOrderDTO = new ServiceOrderDTO(jobForm.Appointment.ServiceOrder.ServiceOrderId, jobForm.Appointment.ServiceOrder.CreationDate,
                                                                  jobForm.Appointment.ServiceOrder.Status);
            AppointmentDTO appointmentDTO = new AppointmentDTO(
                jobForm.Appointment.AppointmentId,
                jobForm.Appointment.Status,
                jobForm.Appointment.VisitDate,
                serviceOrderDTO
                );

            return(new JobFormDTO(
                       jobForm.JobFormId, jobForm.Detail, jobForm.Date, appointmentDTO
                       ));
        }