Exemplo n.º 1
0
        public void Ctor_ValidFieldName_ReturnsExpected()
        {
            var requestField = new RequestField("FieldName");

            Assert.Equal("FieldName", requestField.FieldName);
            Assert.Equal("FieldName", requestField.ToString());
        }
Exemplo n.º 2
0
 private FileHeaderInfo FindLastUploadedFile()
 {
     for (int i = this.StateStore.Fields.Count - 1; i >= 0; i--)
     {
         RequestField field = this.StateStore.Fields[i];
         if (field.Header is FileHeaderInfo)
         {
             return((FileHeaderInfo)field.Header);
         }
     }
     return(null);
 }
Exemplo n.º 3
0
        private int GetCompleteFileCount()
        {
            int num = 0;

            for (int i = 0; i < this.StateStore.Fields.Count; i++)
            {
                RequestField field = this.StateStore.Fields[i];
                if (this.isFileField(field))
                {
                    num++;
                }
            }
            return(num);
        }
Exemplo n.º 4
0
        public static RestFilterExpression GetCustomRestFilterExpression(FieldFilterRequest filterRequest)
        {
            var customField = new List <Sdl.TmService.Sdk.Model.RequestField>();

            foreach (var field in filterRequest.Fields)
            {
                var restFilter = new RequestField
                {
                    Name   = field.Name,
                    Type   = "SingleString",
                    Values = null
                };
                customField.Add(restFilter);
            }
            var restFilterExpression = new RestFilterExpression
            {
                Expression = filterRequest.Expression,
                Fields     = customField
            };

            return(restFilterExpression);
        }
Exemplo n.º 5
0
        public async Task <ДеревоЗначений> ПолучитьДанныеОбъектаАсинх(
            Ссылка ссылка,
            IEnumerable <string> поля = null,
            АвтозагрузкаПолейОбъектов автозагрузкаПолей = null)
        {
            автозагрузкаПолей = автозагрузкаПолей ?? АвтозагрузкаПолейОбъектов.Ничего;

            GetObject_Settings settings = new GetObject_Settings();

            settings.AddSkippedProperties          = true;
            settings.AddSkippedPropertiesSpecified = true;
            settings.PropertiesHierarchyType       = "Hierarchy";

            settings.FieldAutoinclusion = new RequestFieldAutoinclusionSettings();
            settings.FieldAutoinclusion.DefaultFields          = автозагрузкаПолей.ЗагружатьСтандартныеРеквизиты;
            settings.FieldAutoinclusion.DefaultFieldsSpecified = автозагрузкаПолей.ЗагружатьСтандартныеРеквизиты;
            settings.FieldAutoinclusion.CustomFields           = автозагрузкаПолей.ЗагружатьПользовательскиеРеквизиты;
            settings.FieldAutoinclusion.CustomFieldsSpecified  = автозагрузкаПолей.ЗагружатьПользовательскиеРеквизиты;
            settings.FieldAutoinclusion.Tables          = автозагрузкаПолей.ЗагружатьТабличныеЧасти;
            settings.FieldAutoinclusion.TablesSpecified = автозагрузкаПолей.ЗагружатьТабличныеЧасти;

            if (поля != null)
            {
                string[] именаПолей = поля.ToArray();
                settings.Field = new RequestField[именаПолей.Length];
                for (int i = 0; i < именаПолей.Length; i++)
                {
                    RequestField field = new RequestField();
                    field.Key         = именаПолей[i];
                    settings.Field[i] = field;
                }
            }

            Task <GetObjectResponse> task = this.SoapКлиент.GetObjectAsync((ValueRef)ValueBase.From(ссылка), settings);

            return((await task)[email protected](this));
        }
Exemplo n.º 6
0
        /// <summary>
        /// Получает данные выборки асинхронно с учетом всех установленных настроек.
        /// </summary>
        /// <returns>Метод возвращает ссылку на исходный селектор.</returns>
        public async Task <Селектор> ВыполнитьАсинх()
        {
            if (this.collectionMetadata == null)
            {
                throw new Exception("Не установлена коллекция для получения выборки.");
            }

            GetObjectList_Settings settings = new GetObjectList_Settings();

            settings.AddSkippedProperties          = true;
            settings.AddSkippedPropertiesSpecified = true;

            settings.PropertiesHierarchyType = "Hierarchy";

            settings.FieldAutoinclusion = new RequestFieldAutoinclusionSettings();
            settings.FieldAutoinclusion.DefaultFields          = this.АвтозагрузкаПолей.ЗагружатьСтандартныеРеквизиты;
            settings.FieldAutoinclusion.DefaultFieldsSpecified = this.АвтозагрузкаПолей.ЗагружатьСтандартныеРеквизиты;
            settings.FieldAutoinclusion.CustomFields           = this.АвтозагрузкаПолей.ЗагружатьПользовательскиеРеквизиты;
            settings.FieldAutoinclusion.CustomFieldsSpecified  = this.АвтозагрузкаПолей.ЗагружатьПользовательскиеРеквизиты;
            settings.FieldAutoinclusion.Tables          = this.АвтозагрузкаПолей.ЗагружатьТабличныеЧасти;
            settings.FieldAutoinclusion.TablesSpecified = this.АвтозагрузкаПолей.ЗагружатьТабличныеЧасти;

            if (this.limit > 0)
            {
                settings.Limit          = this.limit;
                settings.LimitSpecified = true;
            }

            settings.Field = new RequestField[this.Поля.Count];
            int i = 0;

            foreach (string fieldName in this.Поля)
            {
                RequestField field = new RequestField();
                field.Key         = fieldName;
                settings.Field[i] = field;
                i++;
            }

            settings.Filter = new RequestFilter[this.Отбор.Count];
            for (i = 0; i < this.Отбор.Count; i++)
            {
                RequestFilter filter = new RequestFilter();
                filter.Key            = this.Отбор[i].Ключ;
                filter.Value          = ValueBase.From(this.Отбор[i].Значение);
                filter.ComparisonType = this.Отбор[i].ВидСравнения.ToString();
                settings.Filter[i]    = filter;
            }

            settings.Sort = new RequestSort[this.Порядок.Count];
            for (i = 0; i < this.Порядок.Count; i++)
            {
                RequestSort field = new RequestSort();
                field.Key        = this.Порядок[i].Ключ;
                field.Direction  = this.Порядок[i].Направление == НаправлениеСортировки.Убывание ? "Убыв" : "Возр";
                settings.Sort[i] = field;
            }

            Task <GetObjectListResponse> task = this.bromClient.SoapКлиент.GetObjectListAsync(this.ТипКоллекции.ToString(), this.ИмяКоллекции, settings);

            ValueArray objectList = (await task).@return;

            this.items.Clear();
            if (objectList.Item != null)
            {
                foreach (ValueBase item in objectList.Item)
                {
                    this.items.Add(item.GetValue(this.Клиент) as Ссылка);
                }
            }

            this.isModified = false;

            return(this);
        }
Exemplo n.º 7
0
        private async Task <object> ВыполнитьЗапросОбщееАсинх(string текстЗапроса, IDictionary <string, object> параметры = null, IList <УсловиеОтбора> отбор = null, IList <ПолеДанных> поля = null, IList <Сортировка> порядок = null, bool пакетный = false, ОбходРезультатаЗапроса типОбхода = ОбходРезультатаЗапроса.Прямой, bool включатьВременныеДанные = false)
        {
            ExecuteRequest_Settings settings = new ExecuteRequest_Settings();

            if (параметры != null)
            {
                settings.Parameter = new RequestParameter[параметры.Count];
                int i = 0;
                foreach (KeyValuePair <string, object> параметр in параметры)
                {
                    RequestParameter parameter = new RequestParameter();
                    parameter.Key         = параметр.Key;
                    parameter.Value       = ValueBase.From(параметр.Value);
                    settings.Parameter[i] = parameter;
                    i++;
                }
            }
            if (отбор != null)
            {
                settings.Filter = new RequestFilter[отбор.Count];
                for (int i = 0; i < отбор.Count; i++)
                {
                    RequestFilter filter = new RequestFilter();
                    filter.Key            = отбор[i].Ключ;
                    filter.Value          = ValueBase.From(отбор[i].Значение);
                    filter.ComparisonType = отбор[i].ВидСравнения.ToString();
                    settings.Filter[i]    = filter;
                }
            }
            if (поля != null)
            {
                settings.Field = new RequestField[поля.Count];
                int i = 0;
                foreach (ПолеДанных поле in поля)
                {
                    RequestField field = new RequestField();
                    field.Key         = поле.Ключ;
                    field.Name        = поле.Псевдоним;
                    settings.Field[i] = field;
                    i++;
                }
            }
            if (порядок != null)
            {
                settings.Sort = new RequestSort[порядок.Count];
                int i = 0;
                foreach (Сортировка элементПорядка in порядок)
                {
                    RequestSort sort = new RequestSort();
                    sort.Key         = элементПорядка.Ключ;
                    sort.Direction   = элементПорядка.Направление == НаправлениеСортировки.Убывание ? "Убыв" : "Возр";
                    settings.Sort[i] = sort;
                    i++;
                }
            }
            settings.QueryResultIteration         = типОбхода.ToString();
            settings.IncludeTemporalData          = включатьВременныеДанные;
            settings.IncludeTemporalDataSpecified = включатьВременныеДанные;

            if (!пакетный)
            {
                Task <ExecuteRequestResponse> task = this.SoapКлиент.ExecuteRequestAsync(текстЗапроса, settings);
                return((await task)[email protected](this));
            }
            else
            {
                Task <ExecuteRequestBatchResponse> task = this.SoapКлиент.ExecuteRequestBatchAsync(текстЗапроса, settings);

                return((await task)[email protected](this));
            }
        }
Exemplo n.º 8
0
 private bool isFileField(RequestField field)
 {
     return(((field.Header is FileHeaderInfo) && field.Complete) && !string.IsNullOrEmpty(((FileHeaderInfo)field.Header).FileName));
 }