Exemple #1
0
 public override void EvaluateNode(EvaluationContext context, AstMode mode) {
   var result = new ValuesList();
   foreach (var expr in ChildNodes) {
     expr.Evaluate(context, AstMode.Read);
     result.Add(context.Data.Pop());
   }
   //Push list on the stack
   context.Data.Push(result); 
 }
Exemple #2
0
 /// <summary>
 /// 将指定字段值数组添加到ValuesList属性。
 /// </summary>
 /// <param name="values">字段值数组(一条记录的动态参数值)。</param>
 /// <exception cref="ArgumentNullException">如果values为空引用,则抛出该异常。</exception>
 public void AddValues(object[] values)
 {
     if (values == null)
     {
         throw new ArgumentNullException("values");
     }
     if (values.Length > 0)
     {
         ValuesList.Add(values);
     }
 }
Exemple #3
0
        public FormFieldViewModel(FormField field, string[] languageCodes) : this()
        {
            var names  = field.GetNames(true);
            var values = field.GetValues(false);

            IEnumerable <Option> options = typeof(OptionsField).IsAssignableFrom(field.GetType()) ? ((OptionsField)field).Options : new List <Option>();

            foreach (var name in names)
            {
                if (languageCodes.Contains(name.LanguageCode))
                {
                    Names.Add(name.LanguageCode, name.Value);
                }
            }

            foreach (var value in values)
            {
                if (languageCodes.Contains(value.LanguageCode))
                {
                    if (Values.ContainsKey(value.LanguageCode))
                    {
                        Values = new Dictionary <string, string>();
                        ValuesList.Add(Values);

                        Values.Add(value.LanguageCode, value.Value);
                    }
                    else
                    {
                        Values.Add(value.LanguageCode, value.Value);
                    }
                }
            }


            foreach (string code in languageCodes)
            {
                SelectedOptions.Add(code, new List <string>());
            }

            foreach (var option in options)
            {
                if (option.Selected)
                {
                    foreach (var optionVal in option.Value)
                    {
                        if (languageCodes.Contains(optionVal.LanguageCode))
                        {
                            SelectedOptions[optionVal.LanguageCode].Add(optionVal.Value);
                        }
                    }
                }
            }
        }
        public override void EvaluateNode(EvaluationContext context, AstMode mode)
        {
            var result = new ValuesList();

            foreach (var expr in ChildNodes)
            {
                expr.Evaluate(context, AstMode.Read);
                result.Add(context.Data.Pop());
            }
            //Push list on the stack
            context.Data.Push(result);
        }
Exemple #5
0
        /// <summary>
        /// 将指定数据表中的值添加到ValuesList属性。
        /// </summary>
        /// <param name="dt">数据表。</param>
        /// <exception cref="ArgumentNullException">如果dt为空引用,则抛出该异常。</exception>
        public void AddValues(DataTable dt)
        {
            if (dt == null)
            {
                throw new ArgumentNullException("dt");
            }
            if (dt.Columns.Count == 0 || dt.Rows.Count == 0)
            {
                return;
            }

            //将数据表中每条记录的字段值数组,复制到ValuesList属性中
            foreach (DataRow row in dt.Rows)
            {
                ValuesList.Add(row.ItemArray);
            }
        }
Exemple #6
0
        public void AddValue(params string[] values)
        {
            if (values.Length == IndiciesCount)
            {
                string ready = "(";
                for (int i = 0; i < values.Length; i++)
                {
                    if (values[i] == values.Last())
                    {
                        ready += $"'{values[i]}')";
                    }
                    else
                    {
                        ready += $"'{values[i]}', ";
                    }
                }

                ValuesList.Add(ready);
            }
            else
            {
                throw new FormatException($"Incorrect values count for adding to statement. Need: '{IndiciesCount}', received: {values.Length}");
            }
        }
        public bool LoadTiff(string Filename, out Exception errorMsg)
        {
            errorMsg = new Exception();
            try
            {
                using (var stream = File.Open(Filename, FileMode.Open))
                {
                    var reader = TiffReader.Create(stream);

                    reader.ReadHeader(); // Read Header

                    // Read Image File Directories
                    for (var count = reader.ReadImageFileDirectory(); count != 0; count = reader.ReadImageFileDirectory())
                    {
                        Dictionary.Clear();

                        // Read Tags
                        for (ITag tag = reader.ReadTag(); tag != null; tag = reader.ReadTag())
                        {
                            Dictionary.Add(tag.TagId, new Collection <object>());
                            switch (tag.TagId)
                            {
                            case TiffTags.StripOffsets:
                                // Read Values of Tag
                                for (object value = reader.ReadHandle(); value != null; value = reader.ReadHandle())
                                {
                                    Dictionary[tag.TagId].Add(value);
                                }
                                break;

                            default:
                                // Read Values of Tag
                                for (object value = reader.ReadValue(); value != null; value = reader.ReadValue())
                                {
                                    Dictionary[tag.TagId].Add(value);
                                }
                                break;
                            }
                        }

                        // Read Strips
                        for (int i = 0; i < Dictionary[TiffTags.StripOffsets].Count; i++)
                        {
                            ValuesList.Clear();
                            var data = reader.ReadData((TiffHandle)Dictionary[TiffTags.StripOffsets][i], Convert.ToInt64(Dictionary[TiffTags.StripByteCounts][i]));
                            ValuesList.Add(data);
                        }

                        ImageHeight = (ushort)Dictionary[TiffTags.ImageLength][0];
                        ImageWidth  = (ushort)Dictionary[TiffTags.ImageWidth][0];
                    }
                }
            }
            catch (Exception e)
            {
                ValuesList.Add(new byte[0]);
                errorMsg = e;
                return(false);
            }
            return(true);
        }