![]() | Связь абонента, точки учета и прибора учета |
Получение всех приборов учёта, относящихся к абоненту, найденному по номеру лицевого счёта.
// Подстрока л/с для поиска абонента var consumerAccountSubstring = "1234567890"; // Найденный абонент (физическое или юридическое лицо) var consumer = Consumer.GetInstances().FirstOrDefault(x => (x.AttributeCurrentAccount ?? string.Empty).Contains(consumerAccountSubstring)); if (consumer == null) Console.WriteLine("Абонент не найден"); Console.WriteLine(string.Format("Абонент {0}, лицевой счет {1}", consumer.Caption, consumer.AttributeCurrentAccount)); // Вывод списка приборов учета абонента foreach(var meter in consumer.AttributeMeters) Console.WriteLine(string.Format("ПУ {0}, заводской номер {1}", meter.Class.Caption, meter.AttributeSerialNumber));
Получение абонента и соответствующей точки учёта по серийному номеру прибора учёта.
// Искомый серийный номер var serial = "1234567890"; // Поиск прибора учета по серийному номеру var meter = ElectricityMeter.GetInstances().Single(x => (x.AttributeSerialNumber ?? string.Empty).Equals(serial)); // Получение точки учета, в которую установлен найденный прибор var meterPoint = meter.AttributeMeterPointPlacement; // Получение абонента по точке учета var consumer = meterPoint.AttributeConsumer; // Вывод результата Console.WriteLine("ПУ {0}, ТУ {1}, абонент {2}", meter, meterPoint, consumer);
Получение информации об истории замен приборов учёта физического лица, найденного по паспортным данным.
// Искомая серия паспорта var passportSeries = "1234"; // Искомый номер паспорта var passwordNumber = "567890"; // Поиск физического лица по указанным паспортным данным var person = NaturalPerson.GetInstances().FirstOrDefault(x => x.AttributePassportSeries == passportSeries && x.AttributePassportNumber == passwordNumber); if (person == null) Console.WriteLine("Пользователь не найден"); else { // Получение точки учета абонента (первой из списка) var personMeterPoint = person.AttributeMeterPoints.GetValues().FirstOrDefault(); if (personMeterPoint == null) Console.WriteLine("Нет данных о ТУ абонента"); else { // Получение информации об установленных приборах учета var linkSettings = personMeterPoint.AttributeMeterPointToMeterLinkSettings; if (linkSettings == null) Console.WriteLine("К ТУ не привязан ни один прибор учета"); else { // Вывод истории замен приборов в точке учета foreach(var info in linkSettings.AttributeInstalledMetersInfo.GetValues()) { Console.WriteLine(string.Format("ПУ {0}, серийный номер {1}, дата установки {2}", // Тип прибора учета info.AttributeMeter.Class.Caption, // Серийный номер info.AttributeMeter.AttributeSerialNumber, // Дата установки info.AttributeInstallInfo.AttributeExecutionDate )); } } } }