Table of Contents

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

applicationName string

Наименование приложения (для протоколирования).

LersServer(string, ISynchronizeInvoke)

Инициализирует новый экземпляр класса LersServer с заданием объекта синхронизации.

public LersServer(string applicationName, ISynchronizeInvoke synchronizeInvoke)

Parameters

applicationName string

Наименование приложения. Используется для протоколирования действий пользователя.

synchronizeInvoke ISynchronizeInvoke

Объект, перенаправляющий обратные вызовы в нужный поток. Обычно, это главная форма приложения, которая будет перенаправлять обратные вызовы в главный GUI-поток, чтобы из методов-обработчиков можно было обращаться к графическим элементам управления. Можно задать значение null, если перенаправление не требуется, тогда обратные вызовы будут выполняться в контексте случайного потока пула.

Properties

Accounts

Возвращает справочник учетных записей.

public AccountManager Accounts { get; }

Property Value

AccountManager

Announcements

Возвращает справочник объявлений.

public AnnouncementManager Announcements { get; }

Property Value

AnnouncementManager

BalanceGroups

Возвращает справочник балансовых групп.

public BalanceGroupManager BalanceGroups { get; }

Property Value

BalanceGroupManager

Communal

Возвращает менеджер поквартирного учета.

public CommunalManager Communal { get; }

Property Value

CommunalManager

CustomAttributes

Возвращает справочник атрибутов.

public CustomAttributeManager CustomAttributes { get; }

Property Value

CustomAttributeManager

Customers

Возвращает справочник потребителей.

public CustomerManager Customers { get; }

Property Value

CustomerManager

Data

Возвращает экземпляр класса для работы с данными.

public ServerData Data { get; }

Property Value

ServerData

Database

База данных ЛЭРС УЧЕТ.

public Database Database { get; }

Property Value

Database

Divisions

Управление подразделениями.

public DivisionManager Divisions { get; }

Property Value

DivisionManager

Возвращает экземпляр класса, в котором находятся методы для работы с подразделениями.

Equipment

Возвращает справочник оборудования.

public EquipmentManager Equipment { get; }

Property Value

EquipmentManager

FileManager

Справочник файлов.

public FileManager FileManager { get; }

Property Value

FileManager

GuiParameters

Возвращает системные параметры интерфейса пользователя.

public SystemParametersGui GuiParameters { get; }

Property Value

SystemParametersGui

Incidents

Возвращает справочник нештатных ситуаций.

public IncidentManager Incidents { get; }

Property Value

IncidentManager

Inspectors

Возвращает справочник инспекторов ресурсоснабжающих организаций (РСО).

public InspectorManager Inspectors { get; }

Property Value

InspectorManager

IsConnected

Возвращает значение, определяющее, установлено ли соединение с сервером.

public bool IsConnected { get; }

Property Value

bool

IsLocal

Возвращает значение, определяющее, находится ли сервер на локальном компьютере.

public bool IsLocal { get; }

Property Value

bool

Значение true, если сервер находится на том же компьютере, что и клиент; в противном случае - false.

License

Возвращает информацию о лицензии на ЛЭРС УЧЕТ.

public License License { get; }

Property Value

License

MeasurePoints

Возвращает справочник точек учета.

public MeasurePointManager MeasurePoints { get; }

Property Value

MeasurePointManager

Messages

Возвращает экземпляр классса для работы с сообщениями.

public MessageManager Messages { get; }

Property Value

MessageManager

NodeGroups

Возвращает справочник групп объектов учета.

public NodeGroupManager NodeGroups { get; }

Property Value

NodeGroupManager

NodeJobs

Возвращает работы на объекте учета.

public NodeJobManager NodeJobs { get; }

Property Value

NodeJobManager

Nodes

Возвращает справочник объектов учета.

public NodeManager Nodes { get; }

Property Value

NodeManager

OutdoorTemperature

Возвращает справочник температур наружного воздуха.

public OutdoorTemperature OutdoorTemperature { get; }

Property Value

OutdoorTemperature

Owner

Возвращает владельца.

public string Owner { get; }

Property Value

string

Permissions

Возвращает список разрешений для текущего пользователя.

public IReadOnlyCollection<AccessRight> Permissions { get; }

Property Value

IReadOnlyCollection<AccessRight>

Poll

Возвращает менеджер опроса.

public PollManager Poll { get; }

Property Value

PollManager

PollPorts

Возвращает справочник портов опроса.

public PollPortManager PollPorts { get; }

Property Value

PollPortManager

PollSessions

Справочник сеансов опроса.

public PollSessionManager PollSessions { get; }

Property Value

PollSessionManager

PollState

Состояние опроса.

public PollStateManager PollState { get; }

Property Value

PollStateManager

ReportGeneratingTasks

Возвращает интерфейс для работы c заданиями по автоматическому формированию отчетов.

public ReportGeneratingTaskManager ReportGeneratingTasks { get; }

Property Value

ReportGeneratingTaskManager

RestClient

Клиент для выполнения REST запросов на сервере.

public RestClient RestClient { get; }

Property Value

RestClient

Rooms

Возвращает менеджер поквартирного учета.

public RoomManager Rooms { get; }

Property Value

RoomManager

ServerTimeout

В случае если сервер не ответил на ping за указанный таймаут, связь считается разорванной.

public TimeSpan? ServerTimeout { get; set; }

Property Value

TimeSpan?

ServiceCompanies

Возвращает справочник обслуживающих организаций.

public ServiceCompanyManager ServiceCompanies { get; }

Property Value

ServiceCompanyManager

ServicingStatus

Возвращает справочник состояний точек учёта.

public ServicingStatusManager ServicingStatus { get; }

Property Value

ServicingStatusManager

SummaryCurrentsMonitor

Возвращает экземпляр класса для работы со сводным монитором текущих

public SummaryCurrentsMonitorManager SummaryCurrentsMonitor { get; }

Property Value

SummaryCurrentsMonitorManager

Suppliers

Возвращает справочник ресурсоснабжающих организаций.

public SupplierManager Suppliers { get; }

Property Value

SupplierManager

SystemLog

Возвращает системный журнал.

public SystemLog SystemLog { get; }

Property Value

SystemLog

SystemParameters

Системные параметры.

public SystemParametersManager SystemParameters { get; }

Property Value

SystemParametersManager

TariffScheduleManager

Менеджер тарифных расписаний.

public TariffScheduleManager TariffScheduleManager { get; }

Property Value

TariffScheduleManager

Territories

Объект для работы со справочником территорий.

public TerritoryManager Territories { get; }

Property Value

TerritoryManager

TimeDifference

Возвращает разницу во времени между этим компьютером и компьютером, на котором установлен сервер ЛЭРС УЧЕТ.

public TimeSpan TimeDifference { get; }

Property Value

TimeSpan

Remarks

Следует учитывать, что это значение всегда отлично от нуля, кроме случая, когда сервер находится на локальном компьютере, и оно может меняться от подключения к подключению, т.к. на получение данных от сервера затрачивается определенное время. Даже если разницы во времени не существует, операция подключения к серверу может длится до 30 секунд (например, если сервер занят) и, соответственно эти 30 сеунд будут отражены в значении данного свойства. Под существенной разницей во времени стоит рассматривать разницу в 1 минуту и больше. Это значение может быть отрицательным.

TimeZones

Возвращает экземпляр LersTimeZoneManager, предоставляющий доступ к часовым поясам сервера.

public LersTimeZoneManager TimeZones { get; }

Property Value

LersTimeZoneManager

UserSessions

Возвращает справочник сеансов работы пользователя.

public UserSessionManager UserSessions { get; }

Property Value

UserSessionManager

Version

Возвращает информацию о версии сервера.

public VersionInformation Version { get; }

Property Value

VersionInformation

VersionMatch

Способ сравнения версии сервера и АРМ оператора.

public VersionMatchType VersionMatch { get; set; }

Property Value

VersionMatchType

Methods

AddEntityChanged<TEntity>(EntityType, int, Action<EntityOperationType, int, TEntity>)

Добавляет обработчик уведомления об изменении сущности.

public NotificationEntry AddEntityChanged<TEntity>(EntityType entityType, int entityId, Action<EntityOperationType, int, TEntity> handler)

Parameters

entityType EntityType
entityId int
handler Action<EntityOperationType, int, TEntity>

Обработчик, который принимает ID изменённой сущности, тип операции и саму сущность.

Returns

NotificationEntry

Type Parameters

TEntity

Тип изменяемой сущности.

AssertGranted(AccessRight)

Убеждается что текущий пользователь обладает указанным разрешением.

public void AssertGranted(AccessRight accessRight)

Parameters

accessRight AccessRight

Право доступа.

Remarks

Если текущий пользователь не обладает указанным разрешением, выдаётся исключение PermissionDeniedException

Exceptions

PermissionDeniedException

Connect(string, ushort, AuthenticationInfo)

Выполняет подключение к серверу ЛЭРС УЧЕТ.

public RestoreSessionToken Connect(string host, ushort port, AuthenticationInfo authInfo)

Parameters

host string

Имя удаленного узла.

port ushort

Номер TCP-порта.

authInfo AuthenticationInfo

Параметры аутентификации на сервере.

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

host string

Имя удаленного узла.

port ushort

Номер TCP-порта.

proxy ProxySettings

Параметры прокси-сервера. Если прокси-сервер не используется, то необходимо указать значение null.

authInfo AuthenticationInfo

Параметры аутентификации на сервере.

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

host string

Имя удаленного узла.

port ushort

Номер TCP-порта.

authInfo AuthenticationInfo

Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo.

cancellationToken CancellationToken

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

host string

Имя удаленного узла.

port ushort

Номер TCP-порта.

proxy ProxySettings

Параметры прокси-сервера. Если прокси-сервер не используется, то необходимо указать значение null.

authInfo AuthenticationInfo

Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo.

cancellationToken CancellationToken

Returns

Task<RestoreSessionToken>

Задание, которое после окончания вернёт информацию об установленном подключении.

ConnectAsync(Uri, AuthenticationInfo, Func<HttpClientHandler>, CancellationToken)

Асинхронно подключается к серверу ЛЭРС УЧЕТ с возможностью задания обработчика HTTP запросов.

public Task<RestoreSessionToken> ConnectAsync(Uri uri, AuthenticationInfo authInfo, Func<HttpClientHandler> handler, CancellationToken cancellationToken)

Parameters

uri Uri

Указатель ресурса для подключения к серверу.

authInfo AuthenticationInfo

Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo.

handler Func<HttpClientHandler>

Обработчик HTTP запросов.

cancellationToken CancellationToken

Returns

Task<RestoreSessionToken>

Задание, которое после окончания вернёт информацию об установленном подключении.

ConnectAsync(Uri, ProxySettings, AuthenticationInfo, CancellationToken)

Асинхронно подключается к серверу ЛЭРС УЧЕТ с возможностью задания параметров прокси-сервера.

public Task<RestoreSessionToken> ConnectAsync(Uri uri, ProxySettings proxy, AuthenticationInfo authInfo, CancellationToken cancellationToken)

Parameters

uri Uri

Указатель ресурса для подключения к серверу.

proxy ProxySettings

Параметры прокси-сервера. Если прокси-сервер не используется, то необходимо указать значение null.

authInfo AuthenticationInfo

Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo.

cancellationToken CancellationToken

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

uri Uri

Указатель ресурса для подключения к серверу.

proxy ProxySettings

Параметры прокси-сервера. Если прокси-сервер не используется, то необходимо указать значение null.

authInfo AuthenticationInfo

Параметры аутентификации на сервере. Для обычной аутентификации по имени и паролю необходимо использовать BasicAuthenticationInfo.

handlerFactory Func<HttpClientHandler>
cancellationToken CancellationToken

Returns

Task<ServerConnectResult>

Задание, которое после окончания вернёт информацию об установленном подключении.

Disconnect(int, bool)

Выполняет отключение от сервера.

public void Disconnect(int logoutTimeout, bool removeToken = false)

Parameters

logoutTimeout int

Таймаут на нормальное завершение сеанса работы (мс), после выхода которого, соединение будет принудительно разорвано.

removeToken bool

Если вход проводился с помощью токена, он будет удалён и больше не сможет использоваться для входа.

DisconnectAsync(int, bool)

Выполняет отключение от сервера.

public Task DisconnectAsync(int logoutTimeout, bool removeToken = false)

Parameters

logoutTimeout int

Таймаут на нормальное завершение сеанса работы (мс), после выхода которого, соединение будет принудительно разорвано.

removeToken bool

Если вход проводился с помощью токена, он будет удалён и больше не сможет использоваться для входа.

Returns

Task

Dispose()

Выполняет определяемые приложением задачи, связанные с высвобождением или сбросом неуправляемых ресурсов.

public void Dispose()

Invoke(Action)

Выполняет действие в контексте синхронизации, который был передан серверу.

public void Invoke(Action action)

Parameters

action Action

IsPermissionGranted(AccessRight)

Определяет, обладает ли текущий пользователь указанным разрешением.

public bool IsPermissionGranted(AccessRight accessRight)

Parameters

accessRight AccessRight

Право доступа.

Returns

bool

Возвращает true если пользователь обладает указанным разрешением, иначе - false.

Events

Connected

Происходит при подключении к серверу.

public event EventHandler Connected

Event Type

EventHandler

Disconnected

Происходит при отключении от сервера.

public event EventHandler<DisconnectedEventArgs> Disconnected

Event Type

EventHandler<DisconnectedEventArgs>

LicenseChanged

Происходит при изменении лицензии.

public event EventHandler LicenseChanged

Event Type

EventHandler

Reconnected

Вызывается в случае повторного подключения к серверу.

public event EventHandler Reconnected

Event Type

EventHandler

VersionMismatch

Происходит во время подключения к серверу, если версия сервера отличается от версии среды Lers Framework.

public event EventHandler<VersionMismatchEventArgs> VersionMismatch

Event Type

EventHandler<VersionMismatchEventArgs>