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

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

            default_factory.Database     = txtMSSQLDb.Text;
            default_factory.HostExePath  = txtMSSQLHost.Text;
            default_factory.Port         = txtMSSQLPort.Text;
            default_factory.DbPassword   = txtMSSQLPWD.Text;
            default_factory.DbUsername   = txtMSSQLUID.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 BackupToMSSQL()
        {
            bool BackupByMSSQL = mAccountant.ConfigMgr.GetParamValue("BACKUP_MSSQLUSE").Equals("1");

            if (!BackupByMSSQL)
            {
                return;
            }

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

            string MSSQLUID  = mAccountant.ConfigMgr.GetParamValue("BACKUP_MSSQLUID");
            string MSSQLPWD  = mAccountant.ConfigMgr.GetParamValue("BACKUP_MSSQLPWD");
            string MSSQLDb   = mAccountant.ConfigMgr.GetParamValue("BACKUP_MSSQLDB");
            string MSSQLHost = mAccountant.ConfigMgr.GetParamValue("BACKUP_MSSQLHOST");
            string MSSQLPort = mAccountant.ConfigMgr.GetParamValue("BACKUP_MSSQLPORT");

            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");

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

            default_factory.Database     = MSSQLDb;
            default_factory.HostExePath  = MSSQLHost;
            default_factory.Port         = MSSQLPort;
            default_factory.DbPassword   = MSSQLPWD;
            default_factory.DbUsername   = MSSQLUID;
            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;
            }
        }