Для получения серверных интерфейсов используется объект HttpPilotClient, у которого предварительно необходимо вызвать метод Connect(bool isCheckClientVersion = true).
Интерфейс авторизации. Авторизоваться необходимо перед использованием интерфейсов IMessagesApi, IServerApi и IFileArchiveApi, IEventsApi.
Для получения IAuthenticationApi необходимо вызвать метод HttpPilotClient.GetAuthenticationApi()
Метод авторизации пользователя.
void IAuthenticationApi.Login(string databaseName, string login, string protectedPassword, bool useWindowsAuth, int licenseType);
где:
databaseName
- имя базы данных.login
- логин пользователяprotectedPassword
- пароль, зашифрованный с помощью Advanced Encryption StandarduseWindowsAut
- признак использования windows авторизацииlicenseType
- тип лицензииМетод возвращает сериализованную в XML информацию о лицензии LicenseDataEx.
byte[] GetLicenseInformation()
Захватывает одну лицензию на сервере.
void ConsumeLicense(int licenseType);
где - licenseType
- тип лицензии.
Отпускает одну лицензию на сервере.
void ReleaseLicense(int licenseType);
где - licenseType
- тип лицензии.
public const int PILOT_ICE = 100;
public const int PILOT_ECM = 101;
public const int PILOT_STORAGE = 102;
public const int PILOT_ENTERPRISE = 103;
public const int RENGA_ARCHITECTURE = 104;
public const int RENGA_STRUCTURE = 105;
public const int _8D = 106;
public const int _8D_PROF = 107;
public const int RENGA_MEP = 108;
для получения IServerApi необходимо вызвать метод HttpPilotClient.GetServerApi(IServerCallback callback)
Открывает базу данных, регистрирует методы обратного вызова и возвращает описание базы данных DDatabaseInfo.
DDatabaseInfo OpenDatabase();
Метод возвращает описание базы данных.
DDatabaseInfo GetDatabase(string database)
где:
database
- имя базы данных.Получить текущие метаданные.
DMetadata GetMetadata(long localVersion)
где:
localVersion
- текущая версия метаданных на клиенте.Получение значений настроек. Если параметр loadAll равен true, будут получены настройки всех пользователей. Требуются права администратора.
DSettings GetSettings(long loadAll)
где:
loadAll
- признак необходимости получения настроек всех пользователей.Изменение значений настроек. Для изменения значений обобщенных настроек требуются права администратора.
void ChangeSettings(DSettingsChange change);
где:
change
- изменение.Получить объекты.
List<DObject> GetObjects(Guid[] ids);
где:
ids
- список идентификаторов объектов.Получить изменения.
List<DChangeset> GetChangesets(long first, long last);
где:
first
- начало возвращаемого промежутка идентификаторов изменений.second
- окончание возвращаемого промежутка идентификаторов изменений.Применить изменения объектов.
Вовзращает изменения, слитые с изменениями от других клиентов.
DChangeset Change(DChangesetData changes);
где:
changes
- измененияЗагрузить всех пользователей базы данных
List<DPerson> LoadPeople();
Получить список пользователей по идентификаторам.
List<DPerson> LoadPeopleByIds(int[] ids);
где:
ids
- идентификаторы пользователейПолучить список организационных единиц
List<DOrganisationUnit> LoadOrganisationUnits();
Получить список организационных единиц по идентификаторам.
List<DOrganisationUnit> LoadOrganisationUnitsByIds(int[] ids);
где:
ids
- идентификаторы организационных единицДобавить условие поиска.
void AddSearch(DSearchDefinition searchDefinition);
где:
searchDefinition
- условия поискаУдалить условие поиска.
void RemoveSearch(Guid searchDefinitionId);
где:
searchDefinitionId
- идентификатор условий поискаЗапустить поиск по геометрии.
void GeometrySearch(DGeometrySearchDefinition searchDefinition);
где:
searchDefinition
- условия поискаЗапустить поиск по файлам.
void ContentSearch(DSearchDefinition searchDefinition);
где:
searchDefinition
- условия поискаОбновить информацию о пользователе.
void UpdatePerson(DPersonUpdateInfo updateInfo);
где:
updateInfo
- измененияОбновить информацию о должности.
void UpdateOrganisationUnit(DOrganisationUnitUpdateInfo updateInfo);
где:
updateInfo
- изменения
Интерфейс подписки на события и изменения.
Метод подписки на изменения по переданному набору правил.
void IEventsApi.SubscribeChanges(IEnumerable<DRule> rules);
где:
rules
- список правил.Метод получения пропущенных событий, сгруппированных по правилам, которым они удовлетворяют
List<Tuple<Guid, DChangesetData[]>> IEventsApi.GetMissedChanges();
Метод подтверждения получения изменения от клиента
void AcceptChange(Guid changeId, Guid ruleId);
где:
changeId
- идентификатор изменения.changeId
- идентификатор правила, по которому изменение получено.Интерфейс обратного вызова ServerApi.
Метод обратного вызова изменения объектов
void IServerCallback.NotifyChangeset(DChangeset changeset);
где:
Метод обратного вызова изменения организационных единиц
void IServerCallback.NotifyOrganisationUnitChangeset(OrganisationUnitChangeset changeset);
где:
changeset
- изменения над орг. единицами.Метод обратного вызова изменения пользователей
void IServerCallback.NotifyPersonChangeset(PersonChangeset changeset);
где:
Метод обратного вызова изменения метаданных
void IServerCallback.NotifyDMetadataChangeset(DMetadataChangeset changeset);
где:
changeset
- изменения метаданных.Метод обратного вызова поискового запроса
void IServerCallback.NotifySearchResult(DSearchResult searchResult);
где:
searchResult
- результаты поиска. Метод обратного вызова поискового запроса по геометрии
void IServerCallback.NotifyGeometrySearchResult(DGeometrySearchResult searchResult);
где:
searchResult
- результаты поиска.Метод обратного вызова нотификации об изменениях
void IServerCallback.NotifyDNotificationChangeset(DNotificationChangeset changeset);
где:
changeset
- Changeset со списоком сообщений. Метод обратного вызова результатов выполнения пользовательской команды
void IServerCallback.NotifyCommandResult(Guid requestId, byte[] data, ServerCommandResult result);
где:
requestId
- id запроса. data
- результат выполнения команды. result
- тип результата выполнения команды. Интерфейс пользовательских команд
Регистрация клиента как обработчика команд с указанным именем
void RegisterCommandHandler(string commandName);
где:
commandName
- имя команды.Публикация результата выполнения команды обработчиком
void PublishCommandResult(Guid requestId, byte[] data, ServerCommandResult result);
где:
requestId
- идентификатор запроса.data
- результат выполнения команды.result
- тип результата выполнения команды.Содержит признак окончания срока лицензии
bool IsExpired { get; }
Содержит признак того, что лицензия невалидна
bool IsCheated { get; }
Содержит данные лицензии
LicenseData? LicenseData { get; }
Идентификатор лицензии
Guid Id { get; }
Информация об организации, на которую выдана лицензия
OrganizationInfo OrganizationInfo { get; }
Содержит признак того, что лицензия выдана для некоммерческого использования
bool? NonCommercialUsage { get; }
Лицензия
License License { get; }
Запрос лицензии
Request Request { get; }
Наименование продукта
string Product { get; }
Наименование организации
string Name { get; }
ИНН
string Inn { get; }
Адрес
string Address { get; }
Контактная информация
string ContactInfo { get; }
Список приложений
Product[] Products { get; }
Для комерческой и некомерческой дата окончания получения обновлений.
Для опытной эксплуатации дата окончания действия продукта.
DateTime ValidTo{ get; }
Признак лицензии для опытной эксплуатации
bool IsTrial{ get; }
Список запрашиваемых приложений
Product[] Products { get; }
Число месяцев, на которое запрашивается лицензия
int RequestedMonths { get; }
Признак лицензии для опытной эксплуатации
bool IsTrial { get; }
Код лицензии
int LicenseCode { get; }
Наименование приложения
string ProductName { get; }
Количество экземпляров приложения разрешенных лицензией
int Workplaces { get; }
Номер версии метаданных
long MetadataVersion { get; }
Последний changeset
DChangeset LastChangeset { get; }
Текущий залогиненый пользователь
DPerson Person { get; }
Идентификатор базы данных
Guid DatabaseId { get; }
Версия базы данных
long DatabaseVersion { get; }
Версии пользователей
Dictionary<int, ushort> People { get; }
Версии элементов организационной структуры
Dictionary<int, ushort> OrganisationUnits { get; }
Инкрементальный идентификатор изменения
long Id { get; }
Список идентификаторов измененных объектов
HashSet<Guid> Changed{ get; }
Идентификатор изменения
HashSet<Guid> Changed{ get; }
Поле Id содержит уникальный идентификатор пользователя.
int Id { get; }
Имя пользователя (login).
string Login { get; }
Отображаемое имя пользователя. Например ФИО.
string DisplayName { get; }
Комментарий к статусу пользователя.
string Comment { get; }
уникальный идентификатор доменной учетной записи пользователя.
string Sid { get; }
Показывает удален пользователь или нет. В системе Pilot информация пользователях не удаляется из базы данных. Пользователи помечаются как удаленные.
bool IsDeleted { get; }
Показывает является ли текущий пользователь администратором.
bool IsAdmin { get; }
Идентификатор пользователя из LDAP.
string UidDn { get; }
Email пользователя.
string Email { get; }
Порядковый номер изменения пользователя.
ushort Version { get; }
Статус активности пользователя.
bool IsInactive { get; }
Список идентификаторов должностей, которые в данный момент занимает пользователь.
List<int> Positions { get; }
Список идентификаторов организационных элементов, на которых пользователь в данный момент является руководителем.
List<int> BossOf { get; }
Список идентификаторов организационных элементов, на которые назначен пользователь.
HashSet<int> AllOrgUnits { get; }
Номер версии метаданных
long Version { get; set; }
Список типов
List<MType> Types { get; }
Список состояйние пользователей
List<MUserState> UserStates { get; }
Персональные настройки
Dictionary<int, DSettingsCollection> PersonalSettings { get; private set; }
Общие настройки
Dictionary<int, DSettingsCollection> CommonSettings { get; private set; }
Идентификатор настройки
Guid Identity { get; set; }
Идентификатор организационной единицы, на которую распространяется настройка. Если значение -1, значит распространяется на конкретного пользователя
int OrgUnitId { get; set; }
Идентификатор пользователя, на которого распространяется настройка. Если значение -1, значит распространяется на организационную единицу
int PersonId { get; set; }
Наименование настройки
string Key { get; set; }
значение настройки
string Value { get; set; }
Идентификатор объекта
Guid Id { get; set; }
Тип объекта
int TypeId { get; set; }
Идентификатор родительского объекта
Guid ParentId { get; set; }
Идентификатор последнего изменения объекта
long LastChange { get; set; }
Идентификатор последнего изменения объекта
long LastChange { get; set; }
Идентификатор правила
Guid Id { get; set; }
Тип изменения
ChangeType ChangeType { get; set; }
Расширение файла
string FileExtension { get; set; }
Create = 1
Update = 2
Delete = 3
Success,
Error