Пример #1
0
        public GetWorkOrderResponseDto GetWorkOrder()
        {
            var response = new GetWorkOrderResponseDto()
            {
                GetWorkOrderResponse = new List <GetWorkOrderResponse>()
            };
            var responseDto = new GetWorkOrderResponse();

            var model = workOrderTypeRepository.GetWorkOrder();

            if (model != null)
            {
                responseDto = WorkOrderMapper((List <GetWorkOrderModel>)model.getWorkOrderModel, responseDto);
            }

            foreach (var workOrderMasterDetails in responseDto.getWorkOrderMasterDetailsResponse)
            {
                var getsingle = new GetWorkOrderResponse
                {
                    getWorkOrderMasterDetailsResponse = new List <GetWorkOrderMasterDetailsResponse>()
                };
                var getWorkOrderMasterDetailsResponse = new GetWorkOrderMasterDetailsResponse();
                getWorkOrderMasterDetailsResponse.PartCode            = workOrderMasterDetails.PartCode;
                getWorkOrderMasterDetailsResponse.WorkOrderNumber     = workOrderMasterDetails.WorkOrderNumber;
                getWorkOrderMasterDetailsResponse.WorkOrderSerial     = workOrderMasterDetails.WorkOrderSerial;
                getWorkOrderMasterDetailsResponse.DCNumber            = workOrderMasterDetails.DCNumber;
                getWorkOrderMasterDetailsResponse.DCDate              = workOrderMasterDetails.DCDate;
                getWorkOrderMasterDetailsResponse.DCSerial            = workOrderMasterDetails.DCSerial;
                getWorkOrderMasterDetailsResponse.DrawingNo           = workOrderMasterDetails.DrawingNo;
                getWorkOrderMasterDetailsResponse.DrawingRev          = workOrderMasterDetails.DrawingRev;
                getWorkOrderMasterDetailsResponse.PartCode            = workOrderMasterDetails.PartCode;
                getWorkOrderMasterDetailsResponse.WOQuantity          = workOrderMasterDetails.WOQuantity;
                getWorkOrderMasterDetailsResponse.Rate                = workOrderMasterDetails.Rate;
                getWorkOrderMasterDetailsResponse.DeliveryDate        = workOrderMasterDetails.DeliveryDate;
                getWorkOrderMasterDetailsResponse.MaterialCode        = workOrderMasterDetails.MaterialCode;
                getWorkOrderMasterDetailsResponse.ItemCode            = workOrderMasterDetails.ItemCode;
                getWorkOrderMasterDetailsResponse.HeatNo              = workOrderMasterDetails.HeatNo;
                getWorkOrderMasterDetailsResponse.PONumber            = workOrderMasterDetails.PONumber;
                getWorkOrderMasterDetailsResponse.PODate              = workOrderMasterDetails.PODate;
                getWorkOrderMasterDetailsResponse.POSerial            = workOrderMasterDetails.POSerial;
                getWorkOrderMasterDetailsResponse.PartDescription     = workOrderMasterDetails.PartDescription;
                getWorkOrderMasterDetailsResponse.MaterialDescription = workOrderMasterDetails.MaterialDescription;
                getWorkOrderMasterDetailsResponse.IsDeletable         = workOrderMasterDetails.IsDeletable;
                getWorkOrderMasterDetailsResponse.IsNew               = false;

                if (response.GetWorkOrderResponse.Count > 0)
                {
                    var isExist = response.GetWorkOrderResponse.Any(woNumber => woNumber.WorkOrderNumber == workOrderMasterDetails.WorkOrderNumber);
                    if (isExist)
                    {
                        var index = response.GetWorkOrderResponse.FindIndex(a => a.WorkOrderNumber == workOrderMasterDetails.WorkOrderNumber);

                        response.GetWorkOrderResponse[index].getWorkOrderMasterDetailsResponse.Add(getWorkOrderMasterDetailsResponse);
                    }
                    else
                    {
                        getsingle.VendorCode      = workOrderMasterDetails.VendorCode;
                        getsingle.WorkOrderNumber = workOrderMasterDetails.WorkOrderNumber;
                        getsingle.WorkOrderType   = workOrderMasterDetails.WorkOrderType;
                        getsingle.WorkOrderDate   = workOrderMasterDetails.WorkOrderDate;
                        getsingle.VendorName      = workOrderMasterDetails.VendorName;
                        getsingle.MaxSerial       = workOrderMasterDetails.MaxSerial;

                        getsingle.getWorkOrderMasterDetailsResponse.Add
                            (getWorkOrderMasterDetailsResponse);

                        response.GetWorkOrderResponse.Add(getsingle);
                    }
                }
                else
                {
                    getsingle.VendorCode      = workOrderMasterDetails.VendorCode;
                    getsingle.WorkOrderNumber = workOrderMasterDetails.WorkOrderNumber;
                    getsingle.WorkOrderType   = workOrderMasterDetails.WorkOrderType;
                    getsingle.WorkOrderDate   = workOrderMasterDetails.WorkOrderDate;
                    getsingle.VendorName      = workOrderMasterDetails.VendorName;
                    getsingle.MaxSerial       = workOrderMasterDetails.MaxSerial;

                    getsingle.getWorkOrderMasterDetailsResponse.Add
                        (getWorkOrderMasterDetailsResponse);

                    response.GetWorkOrderResponse.Add(getsingle);
                }
            }

            return(response);
        }