public GetScDetailsAndSerialsResponseDto GetSubContractDetailAndSerials(GetScDetailsAndSerialsRequestDto getScDetailsAndSerialsRequestDto)
        {
            GetScDetailsAndSerialsResponseDto response;

            try
            {
                response = rSubContractProvider.GetSubContractDetailAndSerials(getScDetailsAndSerialsRequestDto);
                response.ServiceResponseStatus = 1;
            }
            catch (SSException applicationException)
            {
                response = new GetScDetailsAndSerialsResponseDto
                {
                    ServiceResponseStatus = 0,
                    ErrorMessage          = applicationException.Message,
                    ErrorCode             = applicationException.ExceptionCode
                };
            }
            catch (Exception exception)
            {
                response = new GetScDetailsAndSerialsResponseDto
                {
                    ServiceResponseStatus = 0,
                    ErrorCode             = ExceptionAttributes.ExceptionCodes.InternalServerError,
                    ErrorMessage          = exception.Message
                };
            }

            return(response);
        }
        public GetScDetailsAndSerialsResponseDto GetSubContractDetailAndSerials(GetScDetailsAndSerialsRequestDto getScDetailsAndSerialsRequestDto)
        {
            var response = new GetScDetailsAndSerialsResponseDto()
            {
                getScDetailsResponse = new List <GetScDetailsResponse>()
            };

            var model = subContractRepository.GetSubContractDetailAndSerials(getScDetailsAndSerialsRequestDto.VendorCode, getScDetailsAndSerialsRequestDto.DcNumber);


            foreach (var responseModel in model.getScDetailsAndSerialsModel)
            {
                var getsingle = new GetScDetailsResponse
                {
                    getGetScSerialsResponse = new List <GetScSerialsResponse>()
                };
                var getWoMasterDetailsResponse = new GetScSerialsResponse();
                getWoMasterDetailsResponse.SerialNo = responseModel.SerialNo;
                getWoMasterDetailsResponse.WoNumber = responseModel.WONumber;
                getWoMasterDetailsResponse.WoSerial = responseModel.WOSerial;

                if (response.getScDetailsResponse.Count > 0)
                {
                    var isExist = response.getScDetailsResponse.Any(dcMaster => dcMaster.WoNumber == responseModel.WONumber && dcMaster.WoSerial == responseModel.WOSerial);
                    if (isExist)
                    {
                        var index = response.getScDetailsResponse.FindIndex(a => a.WoNumber == responseModel.WONumber && a.WoSerial == responseModel.WOSerial);

                        response.getScDetailsResponse[index].getGetScSerialsResponse.Add(getWoMasterDetailsResponse);
                    }
                    else
                    {
                        getsingle.WoNumber              = responseModel.WONumber;
                        getsingle.WoSerial              = responseModel.WOSerial;
                        getsingle.PartCode              = responseModel.PartCode;
                        getsingle.DrawingNumber         = responseModel.DrawingNumber;
                        getsingle.ItemCode              = responseModel.ItemCode;
                        getsingle.MaterialCode          = responseModel.MaterialCode;
                        getsingle.MaterialDescription   = responseModel.MaterialDescription;
                        getsingle.PartDescription       = responseModel.PartDescription;
                        getsingle.CustomerName          = responseModel.CustomerName;
                        getsingle.DrawingNumberRevision = responseModel.DrawingNumberRevision;
                        getsingle.HeatNo   = responseModel.HeatNo;
                        getsingle.PONumber = responseModel.PONumber;
                        getsingle.getGetScSerialsResponse.Add
                            (getWoMasterDetailsResponse);

                        response.getScDetailsResponse.Add(getsingle);
                    }
                }
                else
                {
                    getsingle.WoNumber              = responseModel.WONumber;
                    getsingle.WoSerial              = responseModel.WOSerial;
                    getsingle.PartCode              = responseModel.PartCode;
                    getsingle.DrawingNumber         = responseModel.DrawingNumber;
                    getsingle.ItemCode              = responseModel.ItemCode;
                    getsingle.MaterialCode          = responseModel.MaterialCode;
                    getsingle.MaterialDescription   = responseModel.MaterialDescription;
                    getsingle.PartDescription       = responseModel.PartDescription;
                    getsingle.CustomerName          = responseModel.CustomerName;
                    getsingle.DrawingNumberRevision = responseModel.DrawingNumberRevision;
                    getsingle.HeatNo   = responseModel.HeatNo;
                    getsingle.PONumber = responseModel.PONumber;
                    getsingle.getGetScSerialsResponse.Add
                        (getWoMasterDetailsResponse);

                    response.getScDetailsResponse.Add(getsingle);
                }
            }

            return(response);
        }