Get – получить список подписей
<< Click to Display Table of Contents >> Объектная модель > Основные механизмы > Signatures – подписи Get – получить список подписей |
Метод используется для получения информации об электронных подписях сущности.
Используйте перегрузку метода с фильтром, например, чтобы получить информацию только о подписях с результатом «Утверждено».
Перегрузки
Get(IEntity entity) |
Получить информацию об электронных подписях сущности |
---|---|
Get(IEntity entity, Func<IQueryable<IDBSignature>, IQueryable<IDBSignature>> filter) |
Получить информацию об электронных подписях сущности. Список подписей можно отфильтровать |
Синтаксис
C# |
public static IEnumerable <ISignature> Get(IEntity entity); public static IEnumerable <ISignature> Get(IEntity entity, Func<IQueryable<IDBSignature>, IQueryable<IDBSignature>> filter); |
Параметры
entity – сущность, подписи которой нужно получить;
filter – выражение-фильтр для получения подписей. В нем можно использовать linq-запросы. При этом:
•поддерживаются методы расширения Where, OrderBy, OrderByDescending, Take и Skip в одной конструкции;
•в запросах можно использовать только свойства IDBSignature из базы данных. Например, нельзя построить запрос по свойству IsValid или SignCertificate.
Возвращаемое значение
Список электронных подписей сущности.
Пример 1. Получение информации о пользователе, который последним утвердил документ
return Signatures.Get(doc, q => q.Where(s => s.SignatureType == SignatureType.Approval))
.OrderByDescending(s => s.SigningDate)
.Select(s => s.Signatory)
.FirstOrDefault();
Пример 2. Получение информации только о подписях с результатом «Утверждено»
var signatures = Signatures.Get(doc, q => q.Where(s => s.SignatureType == SignatureType.Approval))
.ToList();
Пример 3. Проверка наличия подписей с результатом «Утверждено»
var hasApprovalSignature = Signatures.Get(doc, q => q.Where(s => s.SignatureType == SignatureType.Approval).Take(1)).Any();
Пример 4. Получение подписей по ИД
var ids = new List<long>() { 100, 200, 300, 400 };
var signatures = Signatures.Get(doc, q => q.Where(s => ids.Contains(s.Id))).ToList();
Пример 5. Получение последних подписей всех пользователей, кроме текущего
var signatures = Signatures.Get(doc, q => q.Where(s => s.Signatory != Users.Current)
.OrderByDescending(s => s.SigningDate)
.Take(10))
.ToList();
Пример 6. Постраничная загрузка отсортированных подписей
var signatures = Signatures.Get(doc, q => q.OrderByDescending(s => s.SigningDate)
.Take(100)
.Skip(200))
.ToList();
ISignature – электронная подпись
Информация об электронной подписи.
СОВЕТ. Свойство UnsignedAdditionalInfo не влияет на проверку корректности подписи. Поэтому его можно использовать, например, для хранения регистрационного номера электронной доверенности.
Методы
Имя |
Описание |
---|---|
GetDataSignature() |
Получить данные подписи в виде массива байт |
Свойства
Имя |
Тип |
Описание |
---|---|---|
Id |
long |
Идентификатор электронной подписи |
SignatureType |
SignatureType |
Тип электронной подписи |
Entity |
IEntity |
Подписанная сущность |
SigningDate |
DateTime |
Дата подписания |
Signatory |
IUser |
Пользователь, подписавший документ. Если документ подписан по замещению, то свойство возвращает информацию о замещающем |
SubstitutedUser |
IUser |
Замещаемый пользователь, от имени которого подписан документ |
SignatoryFullName |
string |
Полное имя пользователя, подписавшего документ |
SubstitutedUserFullName |
string |
Полное имя замещаемого пользователя, от имени которого подписан документ |
AdditionalInfo |
string |
Дополнительная информация о подписи |
UnsignedAdditionalInfo |
string |
Неподписываемая дополнительная информация. Не влияет на проверку корректности подписи |
Comment |
string |
Комментарий к подписи |
SignCertificate |
Сертификат электронной подписи |
|
IsValid |
bool |
Признак того, что подпись действительна |
IsExternal |
bool |
Признак того, что подпись внешняя, например, из системы обмена |
ValidationErrors |
IEnumerable<SignatureValidationError> |
Ошибки, возникающие при проверке электронной подписи |
IDBSignature – интерфейс для чтения электронной подписи из базы данных
Свойства
Имя |
Тип |
Описание |
---|---|---|
Id |
long |
Идентификатор электронной подписи |
SignatureType |
SignatureType |
Тип электронной подписи |
SigningDate |
DateTime |
Дата подписания |
Signatory |
IUser |
Пользователь, подписавший документ. Если документ подписан по замещению, то свойство возвращает информацию о замещающем |
SubstitutedUser |
IUser |
Замещаемый пользователь, от имени которого подписан документ |
SignatoryFullName |
string |
Полное имя пользователя, подписавшего документ |
SubstitutedUserFullName |
string |
Полное имя замещаемого пользователя, от имени которого подписан документ |
AdditionalInfo |
string |
Дополнительная информация о подписи |
UnsignedAdditionalInfo |
string |
Неподписываемая дополнительная информация. Не влияет на проверку корректности подписи |
Comment |
string |
Комментарий к подписи |
IsExternal |
bool |
Признак того, что подпись внешняя, например, из системы обмена |
Tag |
int |
Дополнительный признак, связанный с подписью |
© Компания Directum, 2024 |