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(); }
public static void WriteDatabases(PISystem piSystem, string outputFile) { using (StreamWriter outputStreamWriter = new StreamWriter(outputFile)) { AFDatabases databases = piSystem.Databases; foreach (AFDatabase database in databases) { outputStreamWriter.WriteLine(database.Name); } } }
static void Main(string[] args) { Options arguments = Parser.Default.ParseArguments<Options>(args).MapResult(options => options, _ => null); Logger logger = new Logger(true, arguments.LogFile != null ? arguments.LogFile : null); logger.Log("Started"); // Server logger.Log($"Connecting to server {arguments.ServerName}"); PIServer piServer = PIUtil.GetPIServer(arguments.ServerName); logger.Log($"Connecting to system {arguments.SystemName}"); PISystem piSystem = AFUtil.GetPISystem(arguments.SystemName); logger.Log("Connected"); logger.Log($"Listing databases: system {arguments.SystemName}"); AFUtil.WriteDatabases(piSystem, arguments.DatabaseOutputFile); // Database if (arguments.DatabaseName != null) { AFDatabase database = AFUtil.GetDatabase(piSystem, arguments.DatabaseName); logger.Log($"Listing attributes for database {database.Name}"); AFUtil.WriteAttributes(database, arguments.AttributeOutputFile); } else { var outputFileExtension = Path.GetExtension(arguments.AttributeOutputFile); var outputFileName = Path.ChangeExtension(arguments.AttributeOutputFile, null); AFDatabases databases = piSystem.Databases; Parallel.ForEach( databases, new ParallelOptions { MaxDegreeOfParallelism = arguments.NumParallelTasks }, (AFDatabase database) => { logger.Log($"Listing attributes: database {database.Name}"); AFUtil.WriteAttributes(database, $"{outputFileName} {database.Name}{outputFileExtension}"); }); } logger.Log("Finished - press Enter to close terminal"); logger.Close(); Console.ReadLine(); }
static void Main(string[] args) { myPISystems = new PISystems(); myPISystem = myPISystems[EventFrameTest.Properties.Settings.Default.AFSystemName]; object sysCookie, dbCookie; monitoredDBs = myPISystem.Databases; monitoredDB = monitoredDBs[EventFrameTest.Properties.Settings.Default.AFDBName]; myPISystem.FindChangedItems(false, int.MaxValue, null, out sysCookie); monitoredDB.FindChangedItems(false, int.MaxValue, null, out dbCookie); //Timer elapsedEH = new System.Timers.ElapsedEventHandler(OnElapsed); refreshTimer.Elapsed += elapsedEH; changedEH = new EventHandler <AFChangedEventArgs>(OnChanged); monitoredDB.Changed += changedEH; refreshTimer.Start(); System.Threading.Thread.Sleep(60 * 5000); monitoredDB.Changed -= changedEH; refreshTimer.Elapsed -= elapsedEH; refreshTimer.Stop(); }
public void piSystemPicker1_ConnectionChange(object sender, OSIsoft.AF.UI.SelectionChangeEventArgs e) { //Set AF Server to the current selected object myAFServer = (PISystem)e.SelectedObject; AFDatabases databaseList = myAFServer.Databases; }