Class LersServer
- Namespace
- Lers
- Assembly
- Lers.System.dll
Представляет локальный или удаленный сервер ЛЭРС УЧЕТ.
public sealed class LersServer : ILersServer, IDisposable- Inheritance
- 
      
      LersServer
- Implements
- Inherited Members
- Extension Methods
Constructors
LersServer()
Инициализирует новый экземпляр класса LersServer.
public LersServer()LersServer(string)
Инициализирует новый экземпляр класса LersServer.
public LersServer(string applicationName)Parameters
- applicationNamestring
- Наименование приложения (для протоколирования). 
LersServer(string, ISynchronizeInvoke)
Инициализирует новый экземпляр класса LersServer с заданием объекта синхронизации.
public LersServer(string applicationName, ISynchronizeInvoke synchronizeInvoke)Parameters
- applicationNamestring
- Наименование приложения. Используется для протоколирования действий пользователя. 
- synchronizeInvokeISynchronizeInvoke
- Объект, перенаправляющий обратные вызовы в нужный поток. Обычно, это главная форма приложения, которая будет перенаправлять обратные вызовы в главный GUI-поток, чтобы из методов-обработчиков можно было обращаться к графическим элементам управления. Можно задать значение null, если перенаправление не требуется, тогда обратные вызовы будут выполняться в контексте случайного потока пула. 
Properties
Accounts
Возвращает справочник учетных записей.
public AccountManager Accounts { get; }Property Value
Announcements
Возвращает справочник объявлений.
public AnnouncementManager Announcements { get; }Property Value
BalanceGroups
Возвращает справочник балансовых групп.
public BalanceGroupManager BalanceGroups { get; }Property Value
Communal
Возвращает менеджер поквартирного учета.
public CommunalManager Communal { get; }Property Value
CustomAttributes
Возвращает справочник атрибутов.
public CustomAttributeManager CustomAttributes { get; }Property Value
Customers
Возвращает справочник потребителей.
public CustomerManager Customers { get; }Property Value
Data
Возвращает экземпляр класса для работы с данными.
public ServerData Data { get; }Property Value
DataParameters
Описатели параметров с данными.
public IDataParameterDescriptorsStore DataParameters { get; }Property Value
Database
База данных ЛЭРС УЧЕТ.
public Database Database { get; }Property Value
Divisions
Управление подразделениями.
public DivisionManager Divisions { get; }Property Value
- DivisionManager
- Возвращает экземпляр класса, в котором находятся методы для работы с подразделениями. 
Equipment
Возвращает справочник оборудования.
public EquipmentManager Equipment { get; }Property Value
FileManager
Справочник файлов.
public FileManager FileManager { get; }Property Value
GuiParameters
Возвращает системные параметры интерфейса пользователя.
public SystemParametersGui GuiParameters { get; }Property Value
Incidents
Возвращает справочник нештатных ситуаций.
public IncidentManager Incidents { get; }Property Value
Inspectors
Возвращает справочник инспекторов ресурсоснабжающих организаций (РСО).
public InspectorManager Inspectors { get; }Property Value
IntegrationsManager
Менеджер подключений интеграций.
public IntegrationsManager IntegrationsManager { get; }Property Value
IsConnected
Возвращает значение, определяющее, установлено ли соединение с сервером.
public bool IsConnected { get; }Property Value
IsLocal
Возвращает значение, определяющее, находится ли сервер на локальном компьютере.
public bool IsLocal { get; }Property Value
- bool
- Значение true, если сервер находится на том же компьютере, что и клиент; в противном случае - false. 
License
Возвращает информацию о лицензии на ЛЭРС УЧЕТ.
public License License { get; }Property Value
MeasurePoints
Возвращает справочник точек учета.
public MeasurePointManager MeasurePoints { get; }Property Value
Messages
Возвращает экземпляр классса для работы с сообщениями.
public MessageManager Messages { get; }Property Value
NodeGroups
Возвращает справочник групп объектов учета.
public NodeGroupManager NodeGroups { get; }Property Value
NodeJobs
Возвращает работы на объекте учета.
public NodeJobManager NodeJobs { get; }Property Value
Nodes
Возвращает справочник объектов учета.
public NodeManager Nodes { get; }Property Value
OutdoorTemperature
Возвращает справочник температур наружного воздуха.
public OutdoorTemperature OutdoorTemperature { get; }Property Value
Owner
Возвращает владельца.
public string Owner { get; }Property Value
Permissions
Возвращает список разрешений для текущего пользователя.
public IReadOnlyCollection<AccessRight> Permissions { get; }Property Value
Poll
Возвращает менеджер опроса.
public PollManager Poll { get; }Property Value
PollPorts
Возвращает справочник портов опроса.
public PollPortManager PollPorts { get; }Property Value
PollSessions
Справочник сеансов опроса.
public PollSessionManager PollSessions { get; }Property Value
PollState
Состояние опроса.
public PollStateManager PollState { get; }Property Value
ReportGeneratingTasks
Возвращает интерфейс для работы c заданиями по автоматическому формированию отчетов.
public ReportGeneratingTaskManager ReportGeneratingTasks { get; }Property Value
RestClient
Клиент для выполнения REST запросов на сервере.
public RestClient RestClient { get; }Property Value
Rooms
Возвращает менеджер поквартирного учета.
public RoomManager Rooms { get; }Property Value
ServerTimeout
В случае если сервер не ответил на ping за указанный таймаут, связь считается разорванной.
public TimeSpan? ServerTimeout { get; set; }Property Value
ServiceCompanies
Возвращает справочник обслуживающих организаций.
public ServiceCompanyManager ServiceCompanies { get; }Property Value
ServicingStatus
Возвращает справочник состояний точек учёта.
public ServicingStatusManager ServicingStatus { get; }Property Value
SummaryCurrentsMonitor
Возвращает экземпляр класса для работы со сводным монитором текущих
public SummaryCurrentsMonitorManager SummaryCurrentsMonitor { get; }Property Value
Suppliers
Возвращает справочник ресурсоснабжающих организаций.
public SupplierManager Suppliers { get; }Property Value
SystemLog
Возвращает системный журнал.
public SystemLog SystemLog { get; }Property Value
SystemParameters
Системные параметры.
public SystemParametersManager SystemParameters { get; }Property Value
TariffScheduleManager
Менеджер тарифных расписаний.
public TariffScheduleManager TariffScheduleManager { get; }Property Value
Territories
Объект для работы со справочником территорий.
public TerritoryManager Territories { get; }Property Value
TextTemplates
Текстовые шаблоны.
public TextTemplateDescriptions TextTemplates { get; }Property Value
TimeDifference
Возвращает разницу во времени между этим компьютером и компьютером, на котором установлен сервер ЛЭРС УЧЕТ.
public TimeSpan TimeDifference { get; }Property Value
Remarks
Следует учитывать, что это значение всегда отлично от нуля, кроме случая, когда сервер находится на локальном компьютере, и оно может меняться от подключения к подключению, т.к. на получение данных от сервера затрачивается определенное время. Даже если разницы во времени не существует, операция подключения к серверу может длится до 30 секунд (например, если сервер занят) и, соответственно эти 30 сеунд будут отражены в значении данного свойства. Под существенной разницей во времени стоит рассматривать разницу в 1 минуту и больше. Это значение может быть отрицательным.
TimeZones
Возвращает экземпляр LersTimeZoneManager, предоставляющий доступ к часовым поясам сервера.
public LersTimeZoneManager TimeZones { get; }Property Value
UserSessions
Возвращает справочник сеансов работы пользователя.
public UserSessionManager UserSessions { get; }Property Value
Version
Возвращает информацию о версии сервера.
public VersionInformation Version { get; }Property Value
VersionMatch
Способ сравнения версии сервера и АРМ оператора.
public VersionMatchType VersionMatch { get; set; }Property Value
Methods
AddEntityChanged<TEntity>(EntityType, int, Action<EntityOperationType, int, TEntity>)
Добавляет обработчик уведомления об изменении сущности.
public NotificationEntry AddEntityChanged<TEntity>(EntityType entityType, int entityId, Action<EntityOperationType, int, TEntity> handler)Parameters
- entityTypeEntityType
- entityIdint
- handlerAction<EntityOperationType, int, TEntity>
- Обработчик, который принимает ID изменённой сущности, тип операции и саму сущность. 
Returns
Type Parameters
- TEntity
- Тип изменяемой сущности. 
AssertGranted(AccessRight)
Убеждается что текущий пользователь обладает указанным разрешением.
public void AssertGranted(AccessRight accessRight)Parameters
- accessRightAccessRight
- Право доступа. 
Remarks
Если текущий пользователь не обладает указанным разрешением, выдаётся исключение PermissionDeniedException
Exceptions
Connect(string, ushort, AuthenticationInfo)
Выполняет подключение к серверу ЛЭРС УЧЕТ.
public RestoreSessionToken Connect(string host, ushort port, AuthenticationInfo authInfo)Parameters
- hoststring
- Имя удаленного узла. 
- portushort
- Номер TCP-порта. 
- authInfoAuthenticationInfo
- Параметры аутентификации на сервере. 
Returns
- RestoreSessionToken
- Токен, используемый для восстановления сеанса связи. 
Exceptions
- ServerConnectionException
- Произошла ошибка при установке соединения с сервером или прокси-сервером. 
- AuthorizationFailedException
- Не удалось авторизоваться на сервере. 
- TimeoutException
- Вышел таймаут на выполнение запроса на вход в систему или запроса на получение дополнительной информации о подключении. 
- RequestProcessingException
- На сервере произошла ошибка обработки запроса на вход в систему или запроса на получение дополнительной информации о подключении. 
- RequestDisconnectException
- Во время выполнения запроса на вход в систему или запроса на получение дополнительной информации о подключении произошло отключение от сервера. 
- LersException
- Произошла другая обработанная ошибка во время выполнения запроса на вход в систему или запроса на получение дополнительной информации о подключении, например, ошибка обращения к базе данных. 
- VersionMismatchException
- Версия сервера, к которому производится подключение, отличается от текущей версии среды LERS Framework. Чтобы игнорировать различие версий, обрабатывайте событие VersionMismatch. 
Connect(string, ushort, ProxySettings, AuthenticationInfo)
Выполняет подключение к серверу ЛЭРС УЧЕТ с возможностью задания параметров прокси-сервера.
public RestoreSessionToken Connect(string host, ushort port, ProxySettings proxy, AuthenticationInfo authInfo)Parameters
- hoststring
- Имя удаленного узла. 
- portushort
- Номер TCP-порта. 
- proxyProxySettings
- Параметры прокси-сервера. Если прокси-сервер не используется, то необходимо указать значение null. 
- authInfoAuthenticationInfo
- Параметры аутентификации на сервере. 
Returns
- RestoreSessionToken
- Токен, используемый для восстановления сеанса связи. 
Exceptions
- ServerConnectionException
- Произошла ошибка при установке соединения с сервером или прокси-сервером. 
- AuthorizationFailedException
- Не удалось авторизоваться на сервере. 
- TimeoutException
- Вышел таймаут на выполнение запроса на вход в систему или запроса на получение дополнительной информации о подключении. 
- RequestProcessingException
- На сервере произошла ошибка обработки запроса на вход в систему или запроса на получение дополнительной информации о подключении. 
- RequestDisconnectException
- Во время выполнения запроса на вход в систему или запроса на получение дополнительной информации о подключении произошло отключение от сервера. 
- LersException
- Произошла другая обработанная ошибка во время выполнения запроса на вход в систему или запроса на получение дополнительной информации о подключении, например, ошибка обращения к базе данных. 
- VersionMismatchException
- Версия сервера, к которому производится подключение, отличается от текущей версии среды LERS Framework. Чтобы игнорировать различие версий, обрабатывайте событие VersionMismatch. 
ConnectAsync(string, ushort, AuthenticationInfo, CancellationToken)
Асинхронно подключается к серверу ЛЭРС УЧЕТ.
public Task<RestoreSessionToken> ConnectAsync(string host, ushort port, AuthenticationInfo authInfo, CancellationToken cancellationToken = default)Parameters
- hoststring
- Имя удаленного узла. 
- portushort
- Номер TCP-порта. 
- authInfoAuthenticationInfo
- Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo. 
- cancellationTokenCancellationToken
Returns
- Task<RestoreSessionToken>
- Задание, которое после окончания вернёт информацию об установленном подключении. 
ConnectAsync(string, ushort, ProxySettings, AuthenticationInfo, CancellationToken)
Асинхронно подключается к серверу ЛЭРС УЧЕТ с возможностью задания параметров прокси-сервера.
public Task<RestoreSessionToken> ConnectAsync(string host, ushort port, ProxySettings proxy, AuthenticationInfo authInfo, CancellationToken cancellationToken = default)Parameters
- hoststring
- Имя удаленного узла. 
- portushort
- Номер TCP-порта. 
- proxyProxySettings
- Параметры прокси-сервера. Если прокси-сервер не используется, то необходимо указать значение null. 
- authInfoAuthenticationInfo
- Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo. 
- cancellationTokenCancellationToken
Returns
- Task<RestoreSessionToken>
- Задание, которое после окончания вернёт информацию об установленном подключении. 
ConnectAsync(Uri, AuthenticationInfo, Func<HttpClientHandler>, CancellationToken)
Асинхронно подключается к серверу ЛЭРС УЧЕТ с возможностью задания обработчика HTTP запросов.
public Task<RestoreSessionToken> ConnectAsync(Uri uri, AuthenticationInfo authInfo, Func<HttpClientHandler> handler, CancellationToken cancellationToken)Parameters
- uriUri
- Указатель ресурса для подключения к серверу. 
- authInfoAuthenticationInfo
- Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo. 
- handlerFunc<HttpClientHandler>
- Обработчик HTTP запросов. 
- cancellationTokenCancellationToken
Returns
- Task<RestoreSessionToken>
- Задание, которое после окончания вернёт информацию об установленном подключении. 
ConnectAsync(Uri, ProxySettings, AuthenticationInfo, CancellationToken)
Асинхронно подключается к серверу ЛЭРС УЧЕТ с возможностью задания параметров прокси-сервера.
public Task<RestoreSessionToken> ConnectAsync(Uri uri, ProxySettings proxy, AuthenticationInfo authInfo, CancellationToken cancellationToken)Parameters
- uriUri
- Указатель ресурса для подключения к серверу. 
- proxyProxySettings
- Параметры прокси-сервера. Если прокси-сервер не используется, то необходимо указать значение null. 
- authInfoAuthenticationInfo
- Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo. 
- cancellationTokenCancellationToken
Returns
- Task<RestoreSessionToken>
- Задание, которое после окончания вернёт информацию об установленном подключении. 
ConnectExAsync(Uri, ProxySettings, AuthenticationInfo, Func<HttpClientHandler>, CancellationToken)
Асинхронно подключается к серверу ЛЭРС УЧЕТ с возможностью задания параметров прокси-сервера.
public Task<ServerConnectResult> ConnectExAsync(Uri uri, ProxySettings proxy, AuthenticationInfo authInfo, Func<HttpClientHandler> handlerFactory, CancellationToken cancellationToken)Parameters
- uriUri
- Указатель ресурса для подключения к серверу. 
- proxyProxySettings
- Параметры прокси-сервера. Если прокси-сервер не используется, то необходимо указать значение null. 
- authInfoAuthenticationInfo
- Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo. 
- handlerFactoryFunc<HttpClientHandler>
- cancellationTokenCancellationToken
Returns
- Task<ServerConnectResult>
- Задание, которое после окончания вернёт информацию об установленном подключении. 
Disconnect(int, bool)
Выполняет отключение от сервера.
public void Disconnect(int logoutTimeout, bool removeToken = false)Parameters
- logoutTimeoutint
- Таймаут на нормальное завершение сеанса работы (мс), после выхода которого, соединение будет принудительно разорвано. 
- removeTokenbool
- Если вход проводился с помощью токена, он будет удалён и больше не сможет использоваться для входа. 
DisconnectAsync(int, bool)
Выполняет отключение от сервера.
public Task DisconnectAsync(int logoutTimeout, bool removeToken = false)Parameters
- logoutTimeoutint
- Таймаут на нормальное завершение сеанса работы (мс), после выхода которого, соединение будет принудительно разорвано. 
- removeTokenbool
- Если вход проводился с помощью токена, он будет удалён и больше не сможет использоваться для входа. 
Returns
Dispose()
Выполняет определяемые приложением задачи, связанные с высвобождением или сбросом неуправляемых ресурсов.
public void Dispose()ImpersonateAsync(Account?, CancellationToken)
Начинает олицетворение клиента на сервере. Все дальнейшие запросы будут проводиться от имени этого клиента. Чтобы прекратить олицетворение, в метод нужно передать null.
public Task ImpersonateAsync(Account? impersonateAccount, CancellationToken cancellationToken)Parameters
- impersonateAccountAccount
- cancellationTokenCancellationToken
Returns
Invoke(Action)
Выполняет действие в контексте синхронизации, который был передан серверу.
public void Invoke(Action action)Parameters
- actionAction
IsPermissionGranted(AccessRight)
Определяет, обладает ли текущий пользователь указанным разрешением.
public bool IsPermissionGranted(AccessRight accessRight)Parameters
- accessRightAccessRight
- Право доступа. 
Returns
- bool
- Возвращает true если пользователь обладает указанным разрешением, иначе - false. 
RefreshDataParametersStore()
Обновляет хранилище параметров данных.
public Task RefreshDataParametersStore()Returns
Events
Connected
Происходит при подключении к серверу.
public event EventHandler ConnectedEvent Type
Disconnected
Происходит при отключении от сервера.
public event EventHandler<DisconnectedEventArgs> DisconnectedEvent Type
LicenseChanged
Происходит при изменении лицензии.
public event EventHandler LicenseChangedEvent Type
Reconnected
Вызывается в случае повторного подключения к серверу.
public event EventHandler ReconnectedEvent Type
VersionMismatch
Происходит во время подключения к серверу, если версия сервера отличается от версии среды Lers Framework.
public event EventHandler<VersionMismatchEventArgs> VersionMismatch