Приложение Р
Сервис 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 байта.
