Creatio development guide
Это документация Creatio версии 7.8.0. Мы рекомендуем использовать новую версию документации.

EntitySchemaQuery.CreateFilter(FilterComparisonType,EntitySchemaQueryExpression,EntitySchemaQueryMacrosType,DayOfWeek) - метод Смотри также  Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > CreateFilter - метод : CreateFilter(FilterComparisonType,EntitySchemaQueryExpression,EntitySchemaQueryMacrosType,DayOfWeek) - метод C#

comparisonType
Тип сравнения.
leftExpression
Выражение в левой части фильтра.
macrosType
Тип макроса.
rightValue
Значение типа System.DayOfWeek, которое обрабатывается макросом в правой части фильтра.

Glossary Item Box

Возвращает фильтр с заданным типом сравнения для заданных выражения левой части фильтра, типа макроса и значения типа System.DayOfWeek, которое обрабатывается макросом в правой части фильтра.

Синтаксис

Параметры

comparisonType
Тип сравнения.
leftExpression
Выражение в левой части фильтра.
macrosType
Тип макроса.
rightValue
Значение типа System.DayOfWeek, которое обрабатывается макросом в правой части фильтра.

Тип возвращаемого значения

Экземпляр созданного фильтра IEntitySchemaQueryFilterItem.

Исключения

ИсключениеОписание
Terrasoft.Common.UnsupportedTypeExceptionЕсли в качестве параметра macrosType передан неподдерживаемый тип макроса.

Заметки

Данный метод работает только с типом макроса [День недели] (EntitySchemaQueryMacrosType.DayOfWeek). При передаче в качестве параметра macrosType любого другого типа макроса будет генерироваться исключение.

Пример

В данном примере создается запрос, в котором выбираются контакты, которые были созданы в понедельник. При выполнении данного запроса значение параметра P1 будет равно 1.

// Создание экземпляра менеджера схем объектов.
EntitySchemaManager esqManager = UserConnection.EntitySchemaManager;

// Создание экземпляра EntitySchemaQuery.
var esqResult = new EntitySchemaQuery(esqManager, "Contact");
esqResult.AddColumn("Id");
esqResult.AddColumn("Name");

// Создание экземпляра выражения левой части фильтра для колонки "CreatedOn".
var esqLeftExpression = new EntitySchemaQueryExpression(esqResult
                        .CreateSchemaColumnExpression("CreatedOn"));


// В качестве типа макроса выбирается тип [День недели].
var esqMacrosType = EntitySchemaQueryMacrosType.DayOfWeek;

// Создание выражения типа [День недели].
var esqRightValue = DayOfWeek.Monday;

// Создание экземпляра фильтра с заданными параметрами.
var esqFilter = esqResult.CreateFilter(FilterComparisonType.Equal, esqLeftExpression, esqMacrosType, 
                            esqRightValue);

// Добавление фильтра в коллекцию фильтров результирующего запроса.
esqResult.Filters.Add(esqFilter);

// Получение текста результирующего sql-запроса.
string esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText();

// Текст результирующего sql-запроса.

// MS SQL:
// SELECT
//          [Contact].[Id] [Id],
//          [Contact].[Name] [Name]
// FROM
//          [dbo].[Contact] [Contact]
// WHERE
//          DATEPART(WEEKDAY, [Contact].[CreatedOn]) = @P1 

Смотри также

© Terrasoft 2002-2016.

Был ли данный материал полезен?

Как можно улучшить эту статью?