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(); }
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++; } }
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.Строки()); } } }
public ValueKeyValue(KeyValuePair <object, object> value) { this.Key = ValueBase.From(value.Key); this.Value = ValueBase.From(value.Value); }
public ValueKeyValue(object key, object value) { this.Key = ValueBase.From(key); this.Value = ValueBase.From(value); }
public ValueKeyValue(DictionaryEntry value) { this.Key = ValueBase.From(value.Key); this.Value = ValueBase.From(value.Value); }
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.Получить()); }