Beispiel #1
0
        public ValueTable(ТаблицаЗначений value)
        {
            if (value == null)
            {
                throw new System.ArgumentNullException("value");
            }

            this.Column = new DataTableColumn[value.Колонки.Count];
            for (int i = 0; i < value.Колонки.Count; i++)
            {
                DataTableColumn columnSOAP = new DataTableColumn();
                columnSOAP.Name = value.Колонки[i].Имя;
                this.Column[i]  = columnSOAP;
            }

            this.Row = new DataTableRow[value.Count];
            for (int i = 0; i < value.Count; i++)
            {
                DataTableRow rowSOAP = new DataTableRow();
                rowSOAP.Property = new ValueBase[value.Колонки.Count];

                for (int j = 0; j < value.Колонки.Count; j++)
                {
                    КолонкаКоллекцииЗначений column = value.Колонки[j];
                    ValueBase property = ValueBase.From(((dynamic)value[i]).GetByColumn(column));
                    property.Name       = column.Имя;
                    rowSOAP.Property[j] = property;
                }
                this.Row[i] = rowSOAP;
            }
        }
 public PostObject_Settings(Структура допСвойства, ежимЗаписиДокумента режимЗаписи, ежимПроведенияДокумента режимПроведения, bool режимЗагрузки)
 {
     this.AdditionalProperties      = ValueBase.From(допСвойства) as ValueStruct;
     this.ExchangeLoadMode          = режимЗагрузки;
     this.ExchangeLoadModeSpecified = режимЗагрузки;
     this.DocumentWriteMode         = режимЗаписи.ToString();
     this.DocumentPostingMode       = режимПроведения.ToString();
 }
Beispiel #3
0
 public ValueArray(IList value)
 {
     this.Item = new ValueBase[value.Count];
     for (int i = 0; i < value.Count; i++)
     {
         this.Item[i] = ValueBase.From(value[i]);
     }
 }
        public ValueStruct(Структура value)
        {
            if (value == null)
            {
                throw new System.ArgumentNullException("value");
            }

            this.Property = new ValueBase[value.Count];
            int i = 0;

            foreach (var keyValue in value)
            {
                ValueBase property = ValueBase.From(keyValue.Value);
                property.Name    = keyValue.Key;
                this.Property[i] = property;
                i++;
            }
        }
Beispiel #5
0
        private void AddRowsSOAP(ДеревоЗначений tree, DataTableRow[] rowsSOAP, КоллекцияСтрокДереваЗначений rows)
        {
            for (int i = 0; i < rows.Count; i++)
            {
                СтрокаДереваЗначений currentRow = rows[i];
                DataTableRow         rowSOAP    = new DataTableRow();
                rowSOAP.Property = new ValueBase[tree.Колонки.Count];

                for (int j = 0; j < tree.Колонки.Count; j++)
                {
                    string    columnName = tree.Колонки[j].Имя;
                    ValueBase property   = ValueBase.From(((dynamic)currentRow)[columnName]);
                    property.Name       = columnName;
                    rowSOAP.Property[j] = property;
                }
                rowsSOAP[i] = rowSOAP;

                if (currentRow.Строки().Count > 0)
                {
                    rowSOAP.Row = new DataTableRow[currentRow.Строки().Count];
                    this.AddRowsSOAP(tree, rowSOAP.Row, currentRow.Строки());
                }
            }
        }
Beispiel #6
0
 public ValueKeyValue(KeyValuePair <object, object> value)
 {
     this.Key   = ValueBase.From(value.Key);
     this.Value = ValueBase.From(value.Value);
 }
Beispiel #7
0
 public ValueKeyValue(object key, object value)
 {
     this.Key   = ValueBase.From(key);
     this.Value = ValueBase.From(value);
 }
Beispiel #8
0
 public ValueKeyValue(DictionaryEntry value)
 {
     this.Key   = ValueBase.From(value.Key);
     this.Value = ValueBase.From(value.Value);
 }
Beispiel #9
0
        public static ValueBase From(object value)
        {
            if (value is null)
            {
                return(new ValueNull());
            }
            else if (value is DBNull)
            {
                return(new ValueDBNull());
            }
            else if (value is string)
            {
                return(new ValueString(value));
            }
            else if (value is decimal)
            {
                return(new ValueNumber((decimal)value));
            }
            else if (ValueBase.ЭтоЧисло(value))
            {
                return(new ValueNumber(value));
            }
            else if (value is bool)
            {
                return(new ValueBoolean(value));
            }
            else if (value is DateTime)
            {
                return(new ValueDate(value));
            }
            else if (value is Guid)
            {
                return(new ValueGuid(value));
            }
            else if (value is МоментВремени)
            {
                return(new ValuePointInTime(value));
            }
            else if (value is Граница)
            {
                return(new ValueBoundary(value));
            }
            else if (value is ПеречислениеСсылка)
            {
                return(new ValueEnumRef(value));
            }
            else if (value is ОбъектСсылка)
            {
                return(new ValueObjectRef(value));
            }
            else if (value is Структура)
            {
                return(new ValueStruct(value));
            }
            else if (value is ДвоичныеДанные)
            {
                return(new ValueBinaryData(value));
            }
            else if (value is ХранилищеЗначения)
            {
                return(new ValueStorage(value));
            }
            else if (value is ТаблицаЗначений)
            {
                return(new ValueTable(value));
            }
            else if (value is ТабличнаяЧасть)
            {
                return(new ValueTable((value as ТабличнаяЧасть).Выгрузить()));
            }
            else if (value is ДеревоЗначений)
            {
                return(new ValueTree(value));
            }
            else if (value is IDictionary)
            {
                return(new ValueMap(value as IDictionary));
            }
            else if (value is IList)
            {
                return(new ValueArray(value as IList));
            }
            else if (value is Тип)
            {
                return(new ValueType(value));
            }
            else if (value is ОписаниеТипов)
            {
                return(new ValueTypeDescription(value));
            }

            else if (value is ВидДвиженияБухгалтерии)
            {
                return(new ValueAccountingRecordType(value));
            }
            else if (value is ВидДвиженияНакопления)
            {
                return(new ValueAccumulationRecordType(value));
            }
            else if (value is ВидСчета)
            {
                return(new ValueAccountType(value));
            }
            else if (value is  ежимЗаписиДокумента)
            {
                return(new ValueDocumentWriteMode(value));
            }
            else if (value is  ежимПроведенияДокумента)
            {
                return(new ValueDocumentPostingMode(value));
            }

            throw new Exception(String.Format("Тип \"{0}\" не может быть передан удаленному сервису. Сериализация типа данных не поддерживается.", value.GetType().Name));
        }
 public ValueBoundary(System.ValueType value, string type)
 {
     this.Value = ValueBase.From(value);
     this.Type  = type;
 }
 public ValueStorage(ХранилищеЗначения value)
 {
     this.Data = ValueBase.From(value.Получить());
 }