СЭД «ДЕЛО»
Руководство пользователя
×

Приложение Р

 Сервис DataContextHelperService. Методы

 
 
Список методов (см. Таблица Р. 1):
Таблица Р. 1
Наименование
Параметры
Описание
Пример использования
GetEntityAsync
CacheUse cacheUse, params (string propertyName, object value)[] conditions
Находит сущность по ряду условий с логическим "и" и с использованием локального кэша
var dgFileConstraintTop = await _dataContextHelper.GetEntityAsync<IDgFileConstraint(cancellationToken,(nameof(IDgFileConstraint.IsnDocgroup), 0),
(nameof(IDgFileConstraint.Category), 1));
GetEntityByKeyAsync
string key, object value, CacheUse cacheUse
Находит сущность по колонке и ключу с использованием локального кэша
var department = await _dataContextHelper.GetEntityByKeyAsync<IDepartment>(nameof(IDepartment.IsnNode), role.IsnPerson, cancellationToken);
GetEntityByPrimaryKeyAsync
object value, CacheUse cacheUse
Находит сущность по первичному ключу с использованием локального кэша
var prjRc = await _dataContextHelper.GetEntityByPrimaryKeyAsync<IPrjRc>(prjVisaSign.IsnPrj, cancellationToken);
GetEntityFromReferenceAsync
string referenceName, IKeyedEntity sourceEntity, CacheUse cacheUse
Находит сущность по объекту и имени свойства с использованием локального кэша
var parentDep = await dataContextHelper.GetEntityFromReferenceAsync<IDepartment>(nameof(department.ParentNode), department, cancellationToken);
GetEntityFromReferenceAsync
(extension-метод)
T1 parentObj, Expression<Func<T1, T2>> ex, CacheUse cacheUse = CacheUse.Normal
Находит сущность по объекту и имени свойства с использованием локального кэша
var parentDep = await dataContextHelper.GetEntityFromReferenceAsync(department, p => p.ParentNode, cancellationToken);
GetCollectionAsync
string key, string objName, string parentObjKey, IKeyedEntity parentObj, bool writeSingleObjectToCache,
CacheUse cacheUse, string kindName, object kind, bool isObjNameCollection
Находит определенную коллекцию родительского объекта
var userCardList = await dbHelper.GetCollectionAsync<IUserCard>(nameof(IUserCard.IsnLclassif), nameof(IUserCard.UserCl), nameof(IUserCl.IsnLclassif), user, false, cancellationToken, cacheUse);
GetCollectionAsync
(extension-метод)
T1 parentObj, Expression<Func<T1, IEnumerable<T2>>> ex, bool writeSingleObjectToCache = false, CacheUse cacheUse = CacheUse.Normal
Находит определенную коллекцию родительского объекта
var userCardList = await dbHelper.GetCollectionAsync(user, p => p.UserCards, cancellationToken, false, cacheUse);
GetClassifFromUserList
long isnList, string isnName, bool skipDeleted, long? isNode,
CacheUse cacheUse
Находит коллекцию через таблицу UserLists
var departmentList = await dbHelper.GetClassifFromUserList<IDepartment>(isnList, nameof(IDepartment.IsnNode), true, isNode, cancellationToken: cancellationToken);
GetTableAsync
CacheUse cacheUse
Находит таблицу с использованием локального кэша.
var bufFolders = await dch.GetTableAsync<IBufFolder>(cancellationToken);
GetOrCreateUserRightsHelperService
 
Возвращает класс для проверки прав пользователей.
var userRightsHelperService = dch.GetOrCreateUserRightsHelperService();
GetOrCreatePrjRcSecurityService
IPrjRc prjRc
Возвращает класс для проверки прав для РКПД
var prjRcSecurityService = dch.GetOrCreatePrjRcSecurityService(PrjRc);
GetOrCreateDocRcSecurityService
IDocRc docRc
Возвращает класс для проверки прав для РК
var docRcSecurityService = dch.GetOrCreateDocRcSecurityService(DocRc);
GetOrCreateResolutionSecurityService
IResolution resolution
Возвращает класс для проверки прав для резолюции
var resolutionSecurityService = dch.GetOrCreateResolutionSecurityService(resolution);
GetOrCreatePrjRcHelperService
IPrjRc prjRc
Возвращает класс для вспомогательных методов для РКПД
var prjRcHelperService = dch.GetOrCreatePrjRcHelperService(PrjRc);
GetOrCreateDocRcHelperService
IDocRc docRc
Возвращает класс для вспомогательных методов для РК
var docRcHelperService = dch.GetOrCreateDocRcHelperService(DocRc);
GetOrCreateBufFolderSecurityService
IBufFolder bufFolder
Возвращает класс для проверки прав для BufFolder
var bufFolderSecurityService = dch.GetOrCreateBufFolderSecurityService(BufFolder);
GetOrCreateArValueHelperServiceAsync
IKeyedEntity entity, Docgroup docgroup
Возвращает класс для вспомогательных методов для доп. реквизитов
var arValueHelperService = await dch.GetOrCreateArValueHelperServiceAsync(entity, docgroup, cancellationToken);
GetSysParmsAsync
 
Возвращает класс SysParms системных настроек.
var sysParms = await dch.GetSysParmsAsync(cancellationToken);
* примечание: во всех async методах присутствует параметр CancellationToken
 
Список методов расширения для DataContextHelperService (находится в Eos.Delo.Platform.Storage.Extensions) (см. Таблица П. 2):
Таблица П. 2
Описание
CheckFeedWorksAsync(System.Threading.CancellationToken)
Contact2DepartmentAsync(Eos.Delo.Platform.Storage.Model.IContact, System.Threading.CancellationToken)
DeleteClassifAsync(string, string, string, System.Threading.CancellationToken)
DepMoveToCabinetAsync(string, long, System.Threading.CancellationToken)
EntityHasDoubleValueAsync(Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry, System.Linq.IQueryable<Eos.Platform.Storage.IKeyedEntity>, string, object, System.Threading.CancellationToken, string[])
EntityHasDoubleValueAsync(Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry, System.Linq.IQueryable<Eos.Platform.Storage.IKeyedEntity>, System.Collections.Generic.IEnumerable<(string param, bool equal, object value)>, System.Threading.CancellationToken)
EntityHasDoubleValueAsync(Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry, System.Linq.IQueryable<Eos.Platform.Storage.IKeyedEntity>, System.Threading.CancellationToken, string[])
EntityHasDoubleValueAsync<T>(Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry, string, object, System.Threading.CancellationToken, string[])
EntityHasDoubleValueAsync<T>(Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry, System.Threading.CancellationToken, string[])
EosJpRunAsync(string, System.Threading.CancellationToken)
GetContactListItemsAsync(long, System.Threading.CancellationToken)
GetDateFromDocgroupAsync(string, System.DateTime, System.Threading.CancellationToken)
GetDateFromOrganizAsync(string, System.DateTime, System.Threading.CancellationToken)
GetDepartmentListItemsAsync(long, long?, System.Threading.CancellationToken)
GetDocgroupClWithDocnumberFlagAsync(Eos.Delo.Platform.Storage.Model.IDocgroupCl, System.Threading.CancellationToken)
GetDocgroupListItemsAsync(long, System.Threading.CancellationToken)
GetNum2Async(long, int, System.Threading.CancellationToken)
GetParentPrjVisaSignAsync(Eos.Delo.Platform.Storage.Model.IPrjVisaSign, System.Threading.CancellationToken)
GetPareRefLinkAsync(Eos.Delo.Platform.Storage.Model.IRefLink, System.Threading.CancellationToken)
GetPrintFileFormatListAsync(Eos.Delo.Platform.Storage.Model.IPrintForm, System.Threading.CancellationToken, Eos.Delo.Platform.Storage.Services.CacheUse)
GetPrjNum2Async(long, int, System.Threading.CancellationToken)
GetRefFileListAsync(Eos.Platform.Storage.IKeyedEntity, string, long, System.Threading.CancellationToken, Eos.Delo.Platform.Storage.Services.CacheUse)
GetMainRefFileListAsync(Eos.Platform.Storage.IKeyedEntity, string, long, System.Threading.CancellationToken, Eos.Delo.Platform.Storage.Services.CacheUse)
GetRefLinkListAsync(Eos.Platform.Storage.IKeyedEntity, string, long, System.Threading.CancellationToken, Eos.Delo.Platform.Storage.Services.CacheUse)
GetRubricClListItemsAsync(long, System.Threading.CancellationToken)
GetSeqAsync(string, System.Threading.CancellationToken)
GetUserCardListAsync(Eos.Delo.Platform.Storage.Model.IUserCl, System.Threading.CancellationToken, Eos.Delo.Platform.Storage.Services.CacheUse)
GetUserDepListAsync(Eos.Delo.Platform.Storage.Model.IUserCl, System.Threading.CancellationToken, Eos.Delo.Platform.Storage.Services.CacheUse)
GetUserRequestListAsync(Eos.Delo.Platform.Storage.Model.ISrchRequest, System.Threading.CancellationToken, Eos.Delo.Platform.Storage.Services.CacheUse)
JoinClassifAsync(string, long, long, System.Threading.CancellationToken)
KillDbSessionAsync(int, System.Threading.CancellationToken)
MarkReadProtAsync(string, long, System.Threading.CancellationToken)
PimpImpersonateAsync(long, System.Threading.CancellationToken)
PrjSaveAsync(long, System.Threading.CancellationToken)
RcSaveAsync(Eos.Delo.Platform.Storage.Model.IDocRc, string, long, string, System.Threading.CancellationToken)
ReserveDocNumAsync(string, int, string, string, System.Threading.CancellationToken)
ReservePrjNumAsync(string, int, string, System.Threading.CancellationToken)
ReturnNumAsync(string, long, long, string, string, System.Threading.CancellationToken)
ReturnPrjNumAsync(string, long, long, string, string, System.Threading.CancellationToken)
UpdJournalOwnerAsync(long, System.Threading.CancellationToken)
WriteProtAsync(string, string, string, string, long, string, string, long?, System.Threading.CancellationToken)
 

[1] Класс ClassifTreeEntity унаследован от класса ClassifEntity, а класс ClassifEntity, в свою очередь, от класса EntityBase. Таким образом любая сущность имеет общего предка EntityBase.
[2] Для данного справочника, эти атрибуты будут иметь то же значение что и атрибуты SECURLEVEL и GRIF_NAME (и одноименные поля таблицы SECURITY_CL), соответственно
[3] При пересылке входящих документов, включая письма граждан, содержит информацию о корреспонденте этих документов.
[4] При отправке исходящего документа дублирует информацию, содержащуюся в элементе Document / RegNumber.
[5] Для элемента с типом "п" максимальная длина содержания не должна превышать 255 байт, а для элемента с типом "д" - 24 байта.
Онлайн помощь создана в Dr.Explain