예제 #1
0
        private static bool UpdateInterfaceConfig(Hashtable paramTable)
        {
            string path = paramTable[IMParameter.InterfaceDirectory] as string;

            //update Adapter Config config
            AdapterConfigCfgMgt configMgt = new AdapterConfigCfgMgt();

            configMgt.FileName = path + "\\" + configMgt.FileName;
            if (configMgt.Load())
            {
                configMgt.Config.ConfigDBConnection = paramTable[IMParameter.ConfigDBConnection] as string;
                configMgt.Config.DataDBConnection   = paramTable[IMParameter.DataDBConnection] as string;
                if (!configMgt.Save())
                {
                    GCError.SetLastError("Save config file failed. " + configMgt.FileName);
                    GCError.SetLastError(configMgt.LastError);
                    return(false);
                }
            }
            else
            {
                GCError.SetLastError("Load config file failed. " + configMgt.FileName);
                GCError.SetLastError(configMgt.LastError);
                return(false);
            }

            return(true);
        }
예제 #2
0
        public FormConfig()
        {
            InitializeComponent();

            string filename = ConfigHelper.GetFullPath(Program.ConfigMgt.Config.ConfigConfigFileName);

            configMgt = new AdapterConfigCfgMgt(filename);
            this.textBoxLocation.Text = filename;
        }
예제 #3
0
        static int Main(string[] args)
        {
            // initialize logging
            Log = new Logging(Application.StartupPath + "\\AdapterConfig.log");
            LoggingHelper.EnableApplicationLogging(Log);
            LoggingHelper.EnableXmlLogging(Log);
            Log.WriteAppStart(AppName, args);

            // read arguments
            foreach (string a in args)
            {
                switch (a.ToLower())
                {
                case AdapterConfigArgument.InIM:
                {
                    InIM = true;
                    break;
                }

                case AdapterConfigArgument.InIMWizard:
                {
                    InIMWizard = true;
                    break;
                }
                }
            }

            // check multi instance
            if (CheckMultiInstance(args))
            {
                goto exit;
            }

            // load DeviceDir
            DeviceMgt          = new DeviceDirManager();
            DeviceMgt.FileName = Application.StartupPath + "\\" + DeviceDirManager.IndexFileName;
            if (!DeviceMgt.LoadDeviceDir())
            {
                Log.Write(LogType.Error, "Load DeviceDir failed. " + DeviceMgt.FileName);
                DeviceMgt.DeviceDirInfor = new DeviceDir();
                MessageBox.Show("Cannot load DeviceDir file.");
            }

            // initialize config
            ConfigMgt          = new AdapterConfigCfgMgt();
            ConfigMgt.FileName = Application.StartupPath + "\\" + ConfigMgt.FileName;
            if (ConfigMgt.Load())
            {
                Log.Write("Load config succeeded. " + ConfigMgt.FileName);
            }
            else
            {
                Log.Write(LogType.Error, "Load config failed. " + ConfigMgt.FileName);
                goto exit;
            }

            // initialize service config
            ServiceMgt          = new AdapterServiceCfgMgt();
            ServiceMgt.FileName = Application.StartupPath + "\\" + ServiceMgt.FileName;
            if (ServiceMgt.Load())
            {
                Log.Write("Load serivce config succeeded. " + ServiceMgt.FileName);
            }
            else
            {
                Log.Write(LogType.Error, "Load serivce config failed. " + ServiceMgt.FileName);
                ServiceMgt = null;
            }

            // log config parameters
            string        adapterFileName  = ConfigMgt.Config.AdapterFileName;
            DirectionType adapterDirection = ConfigMgt.Config.AdapterDirection;

            Log.Write("Adapter filename: " + adapterFileName, false);
            Log.Write("Adapter direction: " + adapterDirection, false);

            if (adapterFileName == null || adapterFileName.Length < 1)
            {
                goto exit;
            }

            // show window
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

            try
            {
                switch (adapterDirection)
                {
                case DirectionType.INBOUND:
                {
                    // initialize inbound adapter agent
                    InAdapter = new AdapterAgent <IInboundAdapterConfig, AdapterConfigEntryAttribute>(adapterFileName, Log);
                    InitializeAdapter(InAdapter.Instance);
                    Application.Run(new FormConfigIn());
                    UninitiliazeAdapter(InAdapter.Instance);
                    break;
                }

                case DirectionType.OUTBOUND:
                {
                    // initialize outbound adapter agent
                    OutAdapter = new AdapterAgent <IOutboundAdapterConfig, AdapterConfigEntryAttribute>(adapterFileName, Log);
                    InitializeAdapter(OutAdapter.Instance);
                    Application.Run(new FormConfigOut());
                    UninitiliazeAdapter(OutAdapter.Instance);
                    break;
                }

                case DirectionType.BIDIRECTIONAL:
                {
                    // initialize bidiretional adapter agent
                    BiAdapter = new AdapterAgent <IBidirectionalAdapterConfig, AdapterConfigEntryAttribute>(adapterFileName, Log);
                    InitializeAdapter(BiAdapter.Instance);
                    Application.Run(new FormConfigBi());
                    UninitiliazeAdapter(BiAdapter.Instance);
                    break;
                }
                }
            }
            catch (Exception err)
            {
                Log.Write(LogType.Error, "Error in loading main window.");
                Log.Write(err);
            }

exit:
            // exit
            Log.WriteAppExit(AppName);
            return((int)ExitCode);
        }
예제 #4
0
        public static bool UpdateDBConnection(string interfacesPath, string dataDB, string configDB)
        {
            string[] pathList = Directory.GetDirectories(ConfigHelper.GetFullPath(interfacesPath));
            if (pathList == null)
            {
                return(false);
            }

            foreach (string path in pathList)
            {
                AdapterServiceCfgMgt mgtSerivce = new AdapterServiceCfgMgt();
                mgtSerivce.FileName = path + "\\" + mgtSerivce.FileName;
                if (mgtSerivce.Load())
                {
                    mgtSerivce.Config.DataDBConnection   = dataDB;
                    mgtSerivce.Config.ConfigDBConnection = configDB;
                    if (!mgtSerivce.Save())
                    {
                        GCError.SetLastError(mgtSerivce.LastError);
                        return(false);
                    }
                }
                else
                {
                    GCError.SetLastError(mgtSerivce.LastError);
                    return(false);
                }

                AdapterConfigCfgMgt mgtConfig = new AdapterConfigCfgMgt();
                mgtConfig.FileName = path + "\\" + mgtConfig.FileName;
                if (mgtConfig.Load())
                {
                    mgtConfig.Config.DataDBConnection   = dataDB;
                    mgtConfig.Config.ConfigDBConnection = configDB;
                    if (!mgtConfig.Save())
                    {
                        GCError.SetLastError(mgtConfig.LastError);
                        return(false);
                    }
                }
                else
                {
                    GCError.SetLastError(mgtConfig.LastError);
                    return(false);
                }

                AdapterMonitorCfgMgt mgtMonitor = new AdapterMonitorCfgMgt();
                mgtMonitor.FileName = path + "\\" + mgtMonitor.FileName;
                if (mgtMonitor.Load())
                {
                    mgtMonitor.Config.DataDBConnection   = dataDB;
                    mgtMonitor.Config.ConfigDBConnection = configDB;
                    if (!mgtMonitor.Save())
                    {
                        GCError.SetLastError(mgtMonitor.LastError);
                        return(false);
                    }
                }
                else
                {
                    GCError.SetLastError(mgtMonitor.LastError);
                    return(false);
                }
            }

            return(true);
        }
예제 #5
0
        public static void Load()
        {
            //#region Save Config
            //using (StreamWriter sw = File.CreateText(FileName))
            //{
            //    Config = new OutboundDBInstallConfig();
            //    string str = Config.ToXMLString();
            //    sw.Write(str);
            //}
            //#endregion

            #region Load Config
            using (StreamReader sr = File.OpenText(FileName))
            {
                try
                {
                    string str = sr.ReadToEnd();
                    if (str.Equals(""))
                    {
                        Config = new OutboundConfig();
                    }
                    else
                    {
                        Config = XObjectManager.CreateObject(str, typeof(OutboundConfig)) as OutboundConfig;
                    }
                }
                catch
                {
                    if (Config == null)
                    {
                        Config = new OutboundConfig();
                    }
                }
                finally
                {
                    if (Config == null)
                    {
                        Config = new OutboundConfig();
                    }
                }
            }
            #endregion

            #region Load DeviceDir

            DeviceDir.LoadDeviceDir();

            int iDevice_ID;
            if (!int.TryParse(DeviceDir.DeviceDirInfor.Header.ID, out iDevice_ID))
            {
                Program.log.Write(LogType.Error, "Device_ID invalid");
                Config.Device_ID = -1;
            }
            else
            {
                Config.Device_ID = iDevice_ID;
            }

            Config.INameOutbound = DeviceDir.DeviceDirInfor.Header.Name;

            #endregion

            #region GWDBInfo.Init
            AdapterConfigCfgMgt mgt = new AdapterConfigCfgMgt();
            if (mgt.Load())
            {
                GWDBInfo.Init(mgt.Config.ConfigDBConnection);
            }
            else
            {
                Program.log.Write(mgt.LastError);
            }
            #endregion
        }