WhereHistory – отфильтровать список сущностей по истории
<< Click to Display Table of Contents >> Объектная модель > Действия с репозиториями и сущностями > History – история работы WhereHistory – отфильтровать список сущностей по истории |
Метод используется для получения списка сущностей, отфильтрованного по данным истории работы. Например, когда нужно получить список официальных документов, номер для которых зарезервирован со вчерашнего дня.
ПРИМЕЧАНИЕ. Если требуется задать условие на номер версии документа, для работы используется аналогичный метод WhereDocumentHistory().
Синтаксис
C# |
public static IQueryable <T> WhereHistory <T> (Expression <Func <IHistory, bool>> expression); где T: IEntity (cущность) |
Параметры
expression – фильтр по истории работы.
Возвращаемое значение
Список сущностей, отфильтрованный по истории работы.
Пример. Получение списка документов, отфильтрованного по данным истории
var reservation = new Enumeration(Constants.OfficialDocument.Operation.Reservation);
var yesterday = Calendar.Now.AddDays(-1);
Рассматриваются 2 разных варианта получения списка документов, которые не являются равнозначными.
Вариант 1. Получить документы, у которых в истории есть запись с операцией резервирования вчерашней датой. В результате вернутся документы, у которых в истории одновременно присутствует запись резервирования и дата вчера.
var documents1 = OfficialDocuments.GetAll()
.WhereHistory(h => h.Operation == reservation && h.HistoryDate > yesterday);
Вариант 2. Получить документы, у которых в истории есть запись с операцией резервирования и у которых в истории есть запись со вчерашней датой. В результате вернутся документы, у которых в истории присутствуют записи с операцией резервирования и записи с любой операцией за вчерашний день.
var documents2 = OfficialDocuments.GetAll()
.WhereHistory(h => h.Operation== reservation)
.WhereHistory(h.HistoryDate > yesterday);
Свойства
Имя |
Тип |
Описание |
---|---|---|
Action |
Nullable<Enumeration> |
Действие с сущностью |
Comment |
string |
Комментарий к операции. В истории работы с сущностью отображается как нелокализованная часть комментария. Расположение в комментарии зависит от настроек параметра OperationDetailed. Например, при экспорте документа в файл указывается имя файла в комментарии |
HistoryDate |
Nullable<DateTime> |
Дата и время действия |
HostName |
string |
Имя компьютера, с которого было выполнено действие |
IsSubstitute |
Nullable<bool> |
Признак того, действие выполнялось по замещению |
Operation |
Nullable<Enumeration> |
Логическая операция в предметной области, которая выполняется над сущностью. В истории работы с сущностью отображается в колонке Действие. Например, «Экспорт» документа |
OperationDetailed |
Nullable<Enumeration> |
Детальная информация о логической операции. В истории работы с сущностью отображается как локализованное значение в колонке Комментарий. Например, «Экспорт в файл» |
User |
IRecipient |
Пользователь, который выполнил действие |
VersionNumber |
Nullable<int> |
Номер версии документа, над которой выполнялось действие. Доступно только при работе с документом |
© Компания Directum, 2024 |