Example #1
0
        static void Main(string[] args)
        {
            /*Use the default values provided at the beginning of this class (which work when running from Visual Studio)
             *  or use the values provided by command line arguments*/

            string configFile        = defaultConfigFile;
            string databaseFile      = defaultDatabaseFile;
            string tagDefinitionFile = defaultTagDefinitionFile;
            string piDataFile        = defaultPIDataFile;

            if (args.Length >= 1)
            {
                databaseFile = args[0];
            }

            if (args.Length >= 2)
            {
                tagDefinitionFile = args[1];
            }

            if (args.Length >= 3)
            {
                piDataFile = args[2];
            }

            if (args.Length >= 4)
            {
                configFile = args[3];
            }

            config = JObject.Parse(File.ReadAllText(configFile));
            client = new PIWebAPIClient(
                config["PIWEBAPI_URL"].ToString(),
                config["USER_NAME"].ToString(),
                config["USER_PASSWORD"].ToString());

            string dataserver  = config["PI_SERVER_NAME"].ToString();
            string assetserver = config["AF_SERVER_NAME"].ToString();

            //Delete existing AF Database if it exists
            if (DoesDatabaseExist(assetserver))
            {
                DeleteExistingDatabase(assetserver);
            }

            //Create and Import Database from Building Example file
            XmlDocument doc = new XmlDocument();

            doc.Load(databaseFile);
            CreateDatabase(doc, assetserver);

            //Check for and create tags
            if (!DoesTagExist(dataserver))
            {
                CreatePIPoint(dataserver, tagDefinitionFile);
            }

            //Update values from existing csv file
            UpdateValues(dataserver, tagDefinitionFile, piDataFile);
        }