示例#1
0
 public static void setPropertyValueAsStringIfNotEmpty(KuModel target, JObject source, String sourcePropertyName)
 {
     if (isPropertyExist(source, sourcePropertyName))
     {
         string       v        = getPropertyValueAsString(source, sourcePropertyName);
         PropertyInfo property = target.GetType().GetProperty(sourcePropertyName);
         Type         t        = property.PropertyType;
         if (t.Name == "Boolean")
         {
             property.SetValue(target, Convert.ToBoolean(v), null);
         }
         else if (t.Name == "Double")
         {
             property.SetValue(target, Convert.ToDouble(v), null);
         }
         else if (t.Name.StartsWith("Int"))
         {
             property.SetValue(target, Convert.ToInt32(v), null);
         }
         else
         {
             property.SetValue(target, v, null);
         }
     }
 }
示例#2
0
        private void readModels(JArray modelsJarray, int type, Position parentAbsPostion)
        {
            foreach (JObject jsonObject in modelsJarray)
            {
                KuModel kModel = new KuModel();
                kModel.modelTypeId = int.Parse(jsonObject["modelTypeId"].ToString());
                kModel.orderType   = type;
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "modelName");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "customCode");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "modelNumber");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "obsBrandGoodId");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "modelAvailable");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "needQuotation");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "displayInCostList");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "textureName");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "textureBrandGoodCode");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "textureAvailable");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "obsTextureAccountId");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "id");
                setPropertyValueAsStringIfNotEmpty(kModel, jsonObject, "parentId");
                List <Parameter> paramList          = new List <Parameter>();
                Dimension        dim                = new Dimension();
                JArray           paramJarray        = new JArray();
                JArray           ignoreParamJarrray = new JArray();
                if (isPropertyExist(jsonObject, "parameters"))
                {
                    paramJarray = getPropertyValueAsJarray(jsonObject, "parameters");
                }
                if (isPropertyExist(jsonObject, "ignoreParameters"))
                {
                    ignoreParamJarrray = getPropertyValueAsJarray(jsonObject, "ignoreParameters");
                }
                foreach (JObject paramJobj in paramJarray)
                {
                    if (!isPropertyExist(paramJobj, "name"))
                    {
                        continue;
                    }
                    Parameter pr = new Parameter();
                    pr.name  = getPropertyValueAsString(paramJobj, "name");
                    pr.value = getPropertyValueAsString(paramJobj, "value");
                    if (pr.name != "")
                    {
                        paramList.Add(pr);
                    }
                    setDimensionValue(dim, pr);
                }
                foreach (JObject ignoreParamJobj in ignoreParamJarrray)
                {
                    if (!isPropertyExist(ignoreParamJobj, "name"))
                    {
                        continue;
                    }
                    Parameter pr = new Parameter();
                    pr.name  = getPropertyValueAsString(ignoreParamJobj, "name");
                    pr.value = getPropertyValueAsString(ignoreParamJobj, "value");
                    if (pr.name != "")
                    {
                        paramList.Add(pr);
                    }
                    setDimensionValue(dim, pr);
                }
                double RZ_Degree;
                kModel.parameters = paramList;
                kModel.parameters.Add(new Parameter("color", kModel.textureBrandGoodCode + "H"));
                kModel.ImosPosition = getPosition(getPropertyValueAsJobj(jsonObject, "absPosition"));
                kModel.absRotation  = getRotation(getPropertyValueAsJobj(jsonObject, "absRotation"), out RZ_Degree);
                kModel.absPosition  = getbeforRoatePostion(kModel.ImosPosition, RZ_Degree);
                kModel.caulModel    = Caul.newCaul(kModel.absPosition, dim.d, dim.w, dim.h);
                kModel.boxPostion   = kModel.absPosition;
                if (kModel.customCode == "F")
                {
                    boxseq           += 1;
                    kModel.boxPostion = kModel.absPosition;
                    kModel.holeGroup  = boxseq.ToString();
                }
                else
                {
                    if (parentAbsPostion == null)
                    {
                        kModel.boxPostion = kModel.absPosition;
                    }
                    else
                    {
                        kModel.boxPostion = parentAbsPostion;
                    }
                    kModel.holeGroup = boxseq.ToString();
                }

                if (kModel.modelNumber != null && kModel.modelNumber != "0")
                {
                    kobj.Add(kModel);
                }
                if (isPropertyExist(jsonObject, "subModels"))
                {
                    readModels(getPropertyValueAsJarray(jsonObject, "subModels"), type, kModel.absPosition);
                }
            }
        }