示例#1
0
        public string ReadDataEntries(string mtu_id, DateTime start, DateTime end, EventLogList eventLogList)
        {
            String    path     = CreateEventFileIfNotExist(mtu_id);
            XDocument doc      = XDocument.Load(path);
            XElement  transfer = doc.Root.Element("Transfer");
            XElement  events   = new XElement("Events");

            AddAtrribute(events, "FilterMode", "Match");
            AddAtrribute(events, "FilterValue", "MeterRead");
            AddAtrribute(events, "RangeStart", start.ToString("yyyy-MM-dd HH:mm:ss"));
            AddAtrribute(events, "RangeStop", end.ToString("yyyy-MM-dd HH:mm:ss"));

            foreach (EventLog eventLog in eventLogList.Entries)
            {
                PrepareLog_ReadDataEntries(events, eventLog);
            }

            transfer.Add(events);
            doc.Save(path);

            return(path);
        }
示例#2
0
        public void DataReadFile(
            EventLogList eventLogList,
            Mtu mtu)
        {
            /*
             * <?xml version="1.0" encoding="utf-8"?>
             * <Log>
             *  <Transfer>
             *      <MtuId>000000063004810</MtuId>
             *      <LocalTimeStamp>2019-06-10 13:36:45</LocalTimeStamp>
             *      <MtuTimeStamp>2019-06-10 11:26:39</MtuTimeStamp>
             *      <Events FilterMode="Match" FilterValue="MeterRead" RangeStart="2019-05-09 00:00:00" RangeStop="2019-06-10 23:59:59">
             *          <MeterReadEvent FormatVersion="0">
             *              <TimeStamp>2019-05-10 04:00:01</TimeStamp>
             *              <MeterRead>999994</MeterRead>
             *              <ErrorStatus>0</ErrorStatus>
             *              <ReadInterval>PT720M</ReadInterval>
             *              <PortNumber>PORT1</PortNumber>
             *              <IsDailyRead>False</IsDailyRead>
             *              <IsTopOfHourRead>True</IsTopOfHourRead>
             *              <ReadReason>Scheduled</ReadReason>
             *              <IsSynchronized>True</IsSynchronized>
             *          </MeterReadEvent>
             *          ...
             *      </Events>
             *  </Transfer>
             * </Log>
             */

            String uri = CreateFileIfNotExist(BasicFileType.DATA_READ, false,
                                              mtu.Id + "-" + DateTime.Now.ToString("MMddyyyyHH") + "DataLog.xml");
            XDocument doc = XDocument.Load(uri);

            XElement transfer = doc.Root.Element("Transfer");

            transfer.Add(new XElement("MtuId", mtu.Id));

            XElement events = doc.Root.Element("Events");

            events.Add(new XAttribute("FilterMode", eventLogList.FilterMode));
            events.Add(new XAttribute("FilterValue", eventLogList.EntryType));
            events.Add(new XAttribute("RangeStart", eventLogList.DateStart));
            events.Add(new XAttribute("RangeStop", eventLogList.DateEnd));

            foreach (EventLog log in eventLogList.Entries)
            {
                XElement parent = new XElement("MeterReadEvent");
                parent.Add(new XAttribute("FormatVersion", log.FormatVersion));
                parent.Add(new XElement("TimeStamp", log.TimeStamp));
                parent.Add(new XElement("MeterRead", log.MeterRead));
                parent.Add(new XElement("ErrorStatus", log.ErrorStatus));
                parent.Add(new XElement("ReadInterval", log.ReadInterval));
                parent.Add(new XElement("PortNumber", "PORT" + log.PortNumber));
                parent.Add(new XElement("IsDailyRead", log.IsDailyRead));
                parent.Add(new XElement("IsTopOfHourRead", log.IsTopOfHourRead));
                parent.Add(new XElement("ReadReason", log.ReasonForRead));
                parent.Add(new XElement("IsSynchronized", log.IsSynchronized));

                events.Add(parent);
            }

            // Update file with new data
            doc.Save(uri);
        }
示例#3
0
        private ActionResult ReadMTUData(DateTime start, DateTime end, EventLogList eventLogList, MTUBasicInfo mtuInfo, Mtu mtu)
        {
            /*
             * ActionResult result = new ActionResult();
             *
             * string log_path = logger.ReadDataEntries(mtuInfo.Id.ToString("d15"), start, end, Entries);
             *
             * InterfaceParameters[] parameters = configuration.getAllInterfaceFields(mtu, ActionType.ReadData );
             * foreach (InterfaceParameters parameter in parameters)
             * {
             *  if (parameter.Name.Equals("Port"))
             *  {
             *      for (int i = 0; i < mtu.Ports.Count; i++)
             *      {
             *          foreach (InterfaceParameters port_parameter in parameter.Parameters)
             *          {
             *              if (port_parameter.Source != null && port_parameter.Source.StartsWith("ActionParams"))
             *              {
             *                  Parameter sel_parameter = GetParameterByTag(port_parameter.Name, i + 1);
             *                  if (sel_parameter != null)
             *                  {
             *                      result.AddParameter(new Parameter(port_parameter.Name, port_parameter.Display, sel_parameter.Value));
             *                  }
             *              }
             *
             *          }
             *
             *
             *      }
             *  }
             *  else
             *  {
             *      try
             *      {
             *
             *          if (parameter.Source != null && parameter.Source.StartsWith("ActionParams"))
             *          {
             *              Parameter sel_parameter = GetParameterByTag(parameter.Name);
             *              if (sel_parameter != null)
             *              {
             *                  result.AddParameter(new Parameter(parameter.Name, parameter.Display, sel_parameter.Value));
             *              }
             *          }
             *      }
             *      catch (Exception e)
             *      {
             *          Utils.Print(e.Message + "\r\n" + e.StackTrace);
             *      }
             *  }
             *
             * }
             *
             * result.AddParameter(new Parameter("ReadRequest", "Number Read Request Days", ""));
             * result.AddParameter(new Parameter("ReadResult", "Read Result", "Number of Reads " + Entries.Count.ToString() + " for Selected Period From " + start.ToString("dd/MM/yyyy") + " 0:00:00 Till " + end.ToString("dd/MM/yyyy") + " 23:59:59"));
             * result.AddParameter(new Parameter("ReadResultFile", "Read Result File", log_path));
             *
             * return result;
             */

            return(null);
        }