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
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
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
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
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
entityType
EntityTypeentityId
inthandler
Action<EntityOperationType, int, TEntity>Обработчик, который принимает ID изменённой сущности, тип операции и саму сущность.
Returns
Type Parameters
TEntity
Тип изменяемой сущности.
AssertGranted(AccessRight)
Убеждается что текущий пользователь обладает указанным разрешением.
public void AssertGranted(AccessRight accessRight)
Parameters
accessRight
AccessRightПраво доступа.
Remarks
Если текущий пользователь не обладает указанным разрешением, выдаётся исключение PermissionDeniedException
Exceptions
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
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
Disconnected
Происходит при отключении от сервера.
public event EventHandler<DisconnectedEventArgs> Disconnected
Event Type
LicenseChanged
Происходит при изменении лицензии.
public event EventHandler LicenseChanged
Event Type
Reconnected
Вызывается в случае повторного подключения к серверу.
public event EventHandler Reconnected
Event Type
VersionMismatch
Происходит во время подключения к серверу, если версия сервера отличается от версии среды Lers Framework.
public event EventHandler<VersionMismatchEventArgs> VersionMismatch