예제 #1
0
        private void TriggerAccess_RestoreFromMySQL()
        {
            Accountant curr_acc   = mApplicationController.mAccountant;
            Accountant source_acc = new ImAccountant("SourceAccount(MySQL)");

            DbManager default_factory = new MySQLDbManager(source_acc, "PrimaryFactory");

            default_factory.Database    = txtMySQLDb.Text;
            default_factory.HostExePath = txtMySQLHost.Text;
            default_factory.Port        = txtMySQLPort.Text;
            default_factory.DbPassword  = txtMySQLPWD.Text;
            default_factory.DbUsername  = txtMySQLUID.Text;

            source_acc.DefaultMgrFactory = default_factory;

            string error;

            if (source_acc.ConnectMgrFactories(out error))
            {
                if (chkBackupItemAddOn.Checked)
                {
                    curr_acc.ItemAddOnMgr.RecreateTable();
                    IList <ItemAddOn> CurrItemAddOns = source_acc.ItemAddOnMgr.FindAllCollection();
                    foreach (ItemAddOn s in CurrItemAddOns)
                    {
                        curr_acc.ItemAddOnMgr.Store(s);
                    }
                    curr_acc.DataFieldMgr.RecreateTable();
                    IList <DataField> DataFields = source_acc.DataFieldMgr.FindAllCollection();
                    foreach (DataField s in DataFields)
                    {
                        curr_acc.DataFieldMgr.Store(s);
                    }
                    curr_acc.ItemDataFieldEntryMgr.RecreateTable();
                    IList <ItemDataFieldEntry> ItemDataFieldEntries = source_acc.ItemDataFieldEntryMgr.FindAllCollection();
                    foreach (ItemDataFieldEntry s in ItemDataFieldEntries)
                    {
                        curr_acc.ItemDataFieldEntryMgr.Store(s);
                    }
                }
            }
            else
            {
                MessageBox.Show(error);
            }

            source_acc.Release();
        }
예제 #2
0
        public void BackupToMySQL()
        {
            bool BackupByMySQL = mAccountant.ConfigMgr.GetParamValue("BACKUP_MySQLUSE").Equals("1");

            if (!BackupByMySQL)
            {
                return;
            }

            Accountant backup_acc = new ImAccountant("BackupAccount(MySQL)");

            DbManager default_factory = new MySQLDbManager(backup_acc, "PrimaryFactory");

            string MySQLUID  = mAccountant.ConfigMgr.GetParamValue("BACKUP_MySQLUID");
            string MySQLPWD  = mAccountant.ConfigMgr.GetParamValue("BACKUP_MySQLPWD");
            string MySQLDb   = mAccountant.ConfigMgr.GetParamValue("BACKUP_MySQLDB");
            string MySQLHost = mAccountant.ConfigMgr.GetParamValue("BACKUP_MySQLHOST");
            string MySQLPort = mAccountant.ConfigMgr.GetParamValue("BACKUP_MySQLPORT");

            bool BackupItemAddOn      = mAccountant.ConfigMgr.GetParamValue("BACKUP_ITEMADDON").Equals("1");
            bool BackupAuthentication = mAccountant.ConfigMgr.GetParamValue("BACKUP_AUTHENTICATION").Equals("1");
            bool BackupAuthorization  = mAccountant.ConfigMgr.GetParamValue("BACKUP_AUTHORIZATION").Equals("1");

            default_factory.Database    = MySQLDb;
            default_factory.HostExePath = MySQLHost;
            default_factory.Port        = MySQLPort;
            default_factory.DbPassword  = MySQLPWD;
            default_factory.DbUsername  = MySQLUID;

            backup_acc.DefaultMgrFactory = default_factory;

            string error;

            if (backup_acc.ConnectMgrFactories(out error))
            {
                if (BackupItemAddOn)
                {
                    backup_acc.ItemAddOnMgr.RecreateTable();
                    IList <ItemAddOn> CurrItemAddOns = mAccountant.ItemAddOnMgr.FindAllCollection();
                    foreach (ItemAddOn s in CurrItemAddOns)
                    {
                        backup_acc.ItemAddOnMgr.Store(s);
                    }
                    backup_acc.DataFieldMgr.RecreateTable();
                    IList <DataField> DataFields = mAccountant.DataFieldMgr.FindAllCollection();
                    foreach (DataField s in DataFields)
                    {
                        backup_acc.DataFieldMgr.Store(s);
                    }
                    backup_acc.ItemDataFieldEntryMgr.RecreateTable();
                    IList <ItemDataFieldEntry> ItemDataFieldEntries = mAccountant.ItemDataFieldEntryMgr.FindAllCollection();
                    foreach (ItemDataFieldEntry s in ItemDataFieldEntries)
                    {
                        backup_acc.ItemDataFieldEntryMgr.Store(s);
                    }
                }
            }
            else
            {
                System.Windows.Forms.MessageBox.Show(error);
            }

            backup_acc.Release();
        }
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (!System.IO.File.Exists(txtApp.Text))
            {
                MessageBox.Show("The Myob Application path is not set correctly!");
                DialogResult = DialogResult.None;
                return;
            }

            if (!System.IO.File.Exists(txtDB.Text))
            {
                MessageBox.Show("The Myob Database path is not set correctly!");
                DialogResult = DialogResult.None;
                return;
            }

            DbManager secondary_factory = null;

            string network_db = "0";

            if (rdoLocalDb.Checked)
            {
                secondary_factory            = new OleDbManager(mAccountant, "SecondaryFactory");
                secondary_factory.Database   = mAccountant.GetFullPath("inventorist.mdb");
                secondary_factory.DbPassword = "******";
            }
            else if (rdoNetworkedMySQL.Checked)
            {
                secondary_factory             = new MySQLDbManager(mAccountant, "SecondaryFactory");
                secondary_factory.DbUsername  = (txtMySQLUID.Text);
                secondary_factory.DbPassword  = (txtMySQLPWD.Text);
                secondary_factory.Database    = (txtMySQLDb.Text);
                secondary_factory.HostExePath = (txtMySQLHost.Text);
                secondary_factory.Port        = (txtMySQLPort.Text);
                network_db = "1";
            }
            else if (rdoNetworkedMSSQL.Checked)
            {
                secondary_factory             = new SqlClientDbManager(mAccountant, "SecondaryFactory");
                secondary_factory.DbUsername  = (txtMSSQLUID.Text);
                secondary_factory.DbPassword  = (txtMSSQLPWD.Text);
                secondary_factory.Database    = (txtMSSQLDb.Text);
                secondary_factory.HostExePath = (txtMSSQLHost.Text);
                secondary_factory.Port        = (txtMSSQLPort.Text);
                network_db = "2";
            }

            mAccountant.ConfigMgr.SetParam("NETWORK_NETWORKDB", network_db);

            mAccountant.AddMgrFactory(secondary_factory);

            mAccountant.AuthItemMgrFactory  = secondary_factory;
            mAccountant.AuthRoleMgrFactory  = secondary_factory;
            mAccountant.AuthUserMgrFactory  = secondary_factory;
            mAccountant.ItemAddOnMgrFactory = secondary_factory;
            mAccountant.GenderMgrFactory    = secondary_factory;
            mAccountant.ItemSizeMgrFactory  = secondary_factory;


            List <string> message = new List <string>();

            if (!ValidateLogin(message))
            {
                if (message.Count == 0)
                {
                    MessageBox.Show("Invalid Login!");
                }
                else
                {
                    MessageBox.Show("Invalid Login! (" + message[0] + ")");
                }
                DialogResult = DialogResult.None;
            }
        }