コード例 #1
0
        public static void ValueSelect(List <Param> Params, List <IValue> Values)
        {
            for (int i = 0; i < Params.Count(); i++)                           //заходим в список параметров
            {
                for (int j = 0; j < Values.Count(); j++)                       //заходим в список значений файла Values.json
                {
                    if (Params[i].Id == Values[j].Id)                          //условия нахождения пар по равенству id
                    {
                        if (Params[i].Values != null)                          // если есть варианты значений (values) в параметре
                        {
                            for (int k = 0; k < Params[i].Values.Count(); k++) //запускаем цикл по данным вариантам значений
                            {
                                ValueInt v = Values[j] as ValueInt;

                                if (Params[i].Values[k].Id == v.intvalue)                //если id одного из вариантов совпадает со значением в Values.json
                                {
                                    Params[i].SelectedValue = Params[i].Values[k].Title; //выбираем название выбранного значения и присваеваем SelectedValue
                                    break;                                               //Конец цикла по возможным вариантам значений
                                }
                            }
                        }

                        else
                        {
                            try
                            {
                                ValueInt v = Values[j] as ValueInt;
                                Params[i].SelectedValue = v.intvalue;
                            }
                            catch (Exception)
                            {
                                ValueString v = Values[j] as ValueString;
                                Params[i].SelectedValue = v.stringvalue;
                            }
                        }
                    }
                }

                if (Params[i].SelectedValue == null)
                {
                    Params[i].SelectedValue = "";
                }
            }
        }
コード例 #2
0
        public static List <IValue> ReadFromValue()
        {
            List <IValue> values = new List <IValue>();
            string        json   = File.ReadAllText("Values.json", Encoding.GetEncoding(1251));

            // Parse JSON into dynamic object, convenient!
            JObject parameters = JObject.Parse(json);

            // Process each employee
            foreach (var value in parameters["values"])
            {
                // this can be a string or null

                // this can be a string or array, how can we tell which it is
                JToken Value = value["value"];
                try
                {
                    int      id = (int)value["id"];
                    ValueInt v  = new ValueInt {
                        Id = id
                    };
                    var valueName = (int)Value;
                    v.intvalue = valueName;
                    values.Add(v);
                }
                catch
                {
                    int         id = (int)value["id"];
                    ValueString v  = new ValueString {
                        Id = id
                    };
                    var valueName = (string)Value;
                    v.stringvalue = valueName;
                    values.Add(v);
                }
            }
            return(values);
        }