Exemplo n.º 1
0
        static void Main(string[] args)
        {
            PISystems myPISystems = new PISystems();
            PISystem  myPISystem = myPISystems[EventFrameTest.Properties.Settings.Default.AFSystemName];
            object    sysCookie, dbCookie;

            AFDatabases myDBs = myPISystem.Databases;
            AFDatabase  myDB  = myDBs[EventFrameTest.Properties.Settings.Default.AFDBName];

            myPISystem.FindChangedItems(false, int.MaxValue, null, out sysCookie);
            myDB.FindChangedItems(false, int.MaxValue, null, out dbCookie);

            // Find changes made while application not running.
            List <AFChangeInfo> list = new List <AFChangeInfo>();

            list.AddRange(myPISystem.FindChangedItems(false, int.MaxValue, sysCookie, out sysCookie));
            list.AddRange(myDB.FindChangedItems(false, int.MaxValue, dbCookie, out dbCookie));

            // Refresh objects that have been changed.
            AFChangeInfo.Refresh(myPISystem, list);
            foreach (AFChangeInfo info in list)
            {
                AFChangeInfoAction ac    = info.Action;
                AFObject           myObj = info.FindObject(myPISystem, true);
                AFIdentity         myID  = myObj.Identity;
                if (myID == AFIdentity.EventFrame && ac == AFChangeInfoAction.Added)
                {
                    Console.WriteLine("Found changed object: {0}", myObj);
                }
            }
            Console.ReadLine();
        }
Exemplo n.º 2
0
        internal static void OnChanged(object sender, AFChangedEventArgs e)
        {
            //Console.WriteLine(sender);
            //Console.WriteLine(e);

            // Find changes made while application not running.
            List <AFChangeInfo> list = new List <AFChangeInfo>();

            list.AddRange(myPISystem.FindChangedItems(true, int.MaxValue, sysCookie, out sysCookie));
            list.AddRange(monitoredDB.FindChangedItems(true, int.MaxValue, dbCookie, out dbCookie));

            // Refresh objects that have been changed.
            AFChangeInfo.Refresh(myPISystem, list);
            foreach (AFChangeInfo info in list)
            {
                AFChangeInfoAction ac    = info.Action;
                AFObject           myObj = info.FindObject(myPISystem, true);
                AFIdentity         myID  = myObj.Identity;
                if (myID == AFIdentity.EventFrame && ac == AFChangeInfoAction.Added)
                {
                    AFEventFrame myEFinfo = (AFEventFrame)info.FindObject(myPISystem, true);
                    AFNamedCollectionList <AFEventFrame> myEFList = AFEventFrame.FindEventFrames(monitoredDB, null, new AFTime("*"), 0, 5, AFEventFrameSearchMode.BackwardFromEndTime, "", "", null, myEFinfo.Template, true);
                    foreach (AFEventFrame EF in myEFList)
                    {
                        Console.WriteLine(EF.Name);
                    }
                }
            }
        }
 public void performAction(AFEventFrame lastestEventFrame, AFChangeInfoAction action)
 {
     if (timeLessQuery.IsMatch(lastestEventFrame))
     {
         if (action == AFChangeInfoAction.Added)
         {
             WriteValues(lastestEventFrame.StartTime);
         }
         else if (action == AFChangeInfoAction.Updated || action == AFChangeInfoAction.Removed)
         {
             ComputeStatistics();
         }
     }
 }
Exemplo n.º 4
0
 public void performAction(AFEventFrame lastestEventFrame, AFChangeInfoAction action)
 {
     logger.Debug($"{calculationName} About to perform a match");
     if (timelessMatch(eventFrameQuery, lastestEventFrame))
     {
         if (action == AFChangeInfoAction.Added)
         {
             WriteValues(lastestEventFrame.StartTime);
         }
         else if (action == AFChangeInfoAction.Updated || action == AFChangeInfoAction.Removed)
         {
             ComputeStatistics();
         }
     }
 }