public FacilityProductionDataListResponse PareseResponse(string json)
        {
            JObject jobject1 = JObject.Parse(json);
            PagedData <FacilityProductionDataModel> pagedData1 = new PagedData <FacilityProductionDataModel>();

            if (jobject1["FacilityProductionDatas"] != null)
            {
                JObject jobject2 = (JObject)jobject1["FacilityProductionDatas"];
                pagedData1.PageCount      = jobject2.Value <int>("PageCount");
                pagedData1.PageNumber     = jobject2.Value <int>("PageNumber");
                pagedData1.PageSize       = jobject2.Value <int>("PageSize");
                pagedData1.TotalItemCount = jobject2.Value <int>("TotalItemCount");
                List <FacilityProductionDataModel> productionDataModelList = new List <FacilityProductionDataModel>();
                foreach (JToken jtoken in (JArray)jobject2["Items"])
                {
                    FacilityProductionDataModel productionDataModel = (FacilityProductionDataModel)jtoken.ToObject(FacilityProductionDataModel.GetFacilityProductionDataType(CraftNO), JsonParser <BaseResponse> .GetJsonSerializer());
                    productionDataModelList.Add(productionDataModel);
                }
                pagedData1.AddRange(productionDataModelList);
            }
            jobject1.Remove("FacilityProductionDatas");
            FacilityProductionDataListResponse      @object    = jobject1.ToObject <FacilityProductionDataListResponse>();
            PagedData <FacilityProductionDataModel> pagedData2 = pagedData1;

            @object.FacilityProductionDatas = pagedData2;
            return(@object);
        }
예제 #2
0
        public FacilityProductionDataListResponse Execute(FacilityProductionDataListRequest request)
        {
            FacilityProductionDataListResponse      dataListResponse        = new FacilityProductionDataListResponse();
            IPagedList <FacilityProductionDataInfo> pagedList               = ServiceHelper.LoadService <IFacilityProductionDataService>().GetPagedList(request.PageNumber, request.PageSize);
            List <FacilityProductionDataModel>      productionDataModelList = new List <FacilityProductionDataModel>();

            int[] array1 = pagedList.Select(m => m.No).Distinct().ToArray();
            int[] array2 = pagedList.Select(m => m.Iden).Distinct().ToArray();
            Dictionary <int, Domain.Entities.ProcessInfo> dictionary1 = ServiceHelper.LoadService <IProductionService>().GetProcesses(array1).ToDictionary(m => m.CraftDID);
            Dictionary <int, FacilityInfo> dictionary2 = ServiceHelper.LoadService <IProductionService>().GetFacilities(array2).ToDictionary(m => m.FacilityDID);

            foreach (FacilityProductionDataInfo productionDataInfo in pagedList)
            {
                FacilityProductionDataModel productionDataModel = (FacilityProductionDataModel)Mapper.Map(productionDataInfo, FacilityProductionDataInfo.GetFacilityProductionDataType(request.CraftNO), FacilityProductionDataModel.GetFacilityProductionDataType(request.CraftNO));
                productionDataModel.DeviceGroupName = dictionary2.ContainsKey(productionDataInfo.No) ? dictionary2[productionDataInfo.Iden].MMName : null;
                productionDataModel.DeviceGroupName = dictionary1.ContainsKey(productionDataInfo.No) ? dictionary1[productionDataInfo.No].ProcessName : null;
                productionDataModelList.Add(productionDataModel);
            }
            dataListResponse.FacilityProductionDatas = new PagedData <FacilityProductionDataModel>(productionDataModelList, pagedList);
            return(dataListResponse);
        }