![]() | Получение событий по устройству |
Получение архивных событий по устройству сопряжено с необходимостью получения на сервере массива событий за указанный интервал и передачи его в клиенский сценарий.
Пример серверного сценария (с наименованием getEvents) предоставления событий по устройству.
var meter = ElectricityMeter.Find((int)args["meterId"]); var startDt = (DateTime)args["startDt"]; var endDt = (DateTime)args["endDt"]; var events = meter == null ? null // Получение событий по прибору учета электроэнергии : meter.ReceiveEventsWithDescription( // null - все события null, new DayIntervalData { StartDt = startDt, EndDt = endDt }); var eventsArr = events == null ? null : events .Select(x => new { eventType = x.EventInfo.EventType, eventDt = x.EventInfo.EventDt, eventDesc = x.Description }) .ToArray(); return new { events = eventsArr };
Пример клиентского сценария получения архива событий точки учета.
// запрос архива событий по прибору учета // за интервал между датами календарей datePicker и datePicker2 this.getEvents( { meterId: this.meter ? this.meter.id : 0, startDt: this.datePicker.value, endDt: this.datePicker2.value }, rs => { let eventLines = rs.values.map(x => x.eventType + '(' + x.eventDt + ')' + ', ' + x.eventDesc).join('\n'); this.multilineText.value = eventLines; this.multilineText.scOnInit(); }, err => { console.error(err); });