ArcFM Engine Developer Guide
Program.cs

Resource Center Home

Automated Cleanup Developer Sample (C#)

Program.cs

Copy Code
using ESRI.ArcGIS.esriSystem;
using Miner.Interop;
namespace Miner.Samples.PxTools
{
    class Program
    {
        private static LicenseInitializer m_AOLicenseInitializer = new Miner.Samples.PxTools.LicenseInitializer();
        private static IMMAppInitialize _appInitialize;

        static void Main(string[] args)
        {
            //ESRI License Initializer generated code.
            if (!m_AOLicenseInitializer.InitializeApplication(new esriLicenseProductCode[] { esriLicenseProductCode.esriLicenseProductCodeEngine, esriLicenseProductCode.esriLicenseProductCodeBasic, esriLicenseProductCode.esriLicenseProductCodeAdvanced },
            new esriLicenseExtensionCode[] { }))
            {
                System.Console.WriteLine(m_AOLicenseInitializer.LicenseMessage());
                System.Console.WriteLine("This application could not initialize with the correct ArcGIS license and will shutdown.");
                m_AOLicenseInitializer.ShutdownApplication();
                return;
            }
            //Check out Telvent license
            if (CheckOutArcFMLicense(mmLicensedProductCode.mmLPArcFM) != mmLicenseStatus.mmLicenseCheckedOut)
            {
                System.Console.WriteLine("This application could not initialize with the correct ArcFM license and will shutdown.");
                return;
            }
            CleanUp cleanup = new CleanUp();
            cleanup.StartCleanup();
            //ESRI License Initializer generated code.
            //Do not make any call to ArcObjects after ShutDownApplication()
            m_AOLicenseInitializer.ShutdownApplication();
        }
        private static mmLicenseStatus CheckOutArcFMLicense(mmLicensedProductCode productCode)
        {
            if (_appInitialize == null) _appInitialize = new MMAppInitializeClass();
            var licenseStatus = _appInitialize.IsProductCodeAvailable(productCode);
            if (licenseStatus == mmLicenseStatus.mmLicenseAvailable)
            {
                licenseStatus = _appInitialize.Initialize(productCode);
            }
            return licenseStatus;
        }
    }

}

 

 

 


Send Comment to ArcFMdocumentation@schneider-electric.com