Esempio n. 1
0
        // 检查看看期刊书目库中的记录有没有期刊信息不正确的问题
        // parameters:
        //      bWarning    是否出现过警告
        // return:
        //      -1  error
        //      0   没有问题
        //      1   有问题
        int VerifyIssueInfo(List<string> biblio_dbnames,
            out bool bWarning,
            out string strError)
        {
            strError = "";
            bWarning = false;

            if (this.jidaoControl1 == null)
                this.jidaoControl1 = new UpgradeUtil.JidaoControl();

            this.EnableControls(false);

            stop.OnStop += new StopEventHandler(this.DoStop);
            stop.SetMessage("正在检查期刊库内记录 ...");
            stop.BeginLoop();

            this.Update();

            try
            {
                AppendHtml(
"====================<br/>"
+ "检查期刊库内记录<br/>"
+ "====================<br/><br/>");


                AppendHtml(
                    "准备检查 " + biblio_dbnames.Count.ToString() + " 个期刊库内的全部记录...<br/>");

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

                for (int i = 0; i < biblio_dbnames.Count; i++)
                {
                    string strIssueDbName = biblio_dbnames[i];

                    bool bWarning_1 = false;
                    int nRet = DoCheckOneIssueDatabase(strIssueDbName,
                        out bWarning_1,
                        out strError);
                    if (nRet == -1)
                    {
                        MessageBox.Show(this, strError);
                    }

                    if (bWarning_1 == true)
                        bWarning = true;
                }


                if (bWarning == true)
                {
                    AppendHtml(
                         "***注意***<br/>在检查期刊记录过程中,出现了警告信息。"
                         + "建议先去dt1000系统内消除这些警告的问题,然后再重新进行升级<br/>");
                    return 1;   // 发现了问题
                }
            }
            finally
            {
                stop.EndLoop();
                stop.OnStop -= new StopEventHandler(this.DoStop);
                stop.Initial("");

                this.EnableControls(true);
            }
            return 0; // 没有问题
        }
Esempio n. 2
0
        // 复制dtlp数据库内的全部数据到对应的dp2数据库中
        int CopyDatabases(out string strError)
        {
            strError = "";
            int nRet = 0;

            if (this.jidaoControl1 == null)
                this.jidaoControl1 = new UpgradeUtil.JidaoControl();

            // 获得所有dp2数据库的XML定义
            string strDatabaseDefs = "";
            nRet = GetAllDatabaseInfo(out strDatabaseDefs,
                out strError);
            if (nRet == -1)
                return -1;

            this.Dp2DatabaseDom = new XmlDocument();
            try
            {
                this.Dp2DatabaseDom.LoadXml(strDatabaseDefs);
            }
            catch (Exception ex)
            {
                strError = "XML装入DOM时出错: " + ex.Message;
                return -1;
            }

            this.m_locations.Clear();
            this.m_sources.Clear();
            this.m_sellers.Clear();
            this.m_orderclasses.Clear();

            this.EnableControls(false);

            stop.OnStop += new StopEventHandler(this.DoStop);
            stop.SetMessage("正在升级数据库内记录 ...");
            stop.BeginLoop();

            this.Update();

            try
            {
                AppendHtml(
"====================<br/>"
+ "升级数据库记录<br/>"
+ "====================<br/><br/>");


                AppendHtml(
                    "准备升级 " + this.listView_dtlpDatabases.CheckedItems.Count.ToString() + " 个数据库内的全部记录...<br/>");

                for (int i = 0; i < listView_dtlpDatabases.CheckedItems.Count; i++)
                {
                    ListViewItem dtlp_item = listView_dtlpDatabases.CheckedItems[i];

                    string strDatabaseName = dtlp_item.Text;
                    string strCreatingType = ListViewUtil.GetItemText(dtlp_item, 1);

                    nRet = DoCopyOneDatabase(strDatabaseName,
                        strCreatingType,
                        out strError);
                    if (nRet == -1)
                    {
                        MessageBox.Show(this, strError);
                        AppendHtml(
    "升级数据库 " + strDatabaseName + " 内记录时发生错误: " + HttpUtility.HtmlEncode(strError) + "<br/><br/>");

                        if (i < listView_dtlpDatabases.CheckedItems.Count - 1)
                        {
                            // 继续下一个数据库
                            DialogResult msgResult = MessageBox.Show(this,
                                "继续复制其余的数据库?",
                                "UpgradeDt1000ToDp2",
                                MessageBoxButtons.YesNo,
                                MessageBoxIcon.Question,
                                MessageBoxDefaultButton.Button2);
                            if (msgResult == DialogResult.No)
                            {
                                string strDatabaseNames = "";
                                for (int j = i; j < listView_dtlpDatabases.CheckedItems.Count; j++)
                                {
                                    dtlp_item = listView_dtlpDatabases.CheckedItems[i];
                                    strDatabaseName = dtlp_item.Text;
                                    if (String.IsNullOrEmpty(strDatabaseNames) == false)
                                        strDatabaseNames += ",";
                                    strDatabaseNames += strDatabaseName;
                                }

                                AppendHtml(
                                    "下列数据库 " + strDatabaseNames + " 被整个放弃升级。<br/><br/>");
                                return 0;
                            }
                        }

                    }
                }

                AppendHtml(
                    "升级 " + this.listView_dtlpDatabases.CheckedItems.Count.ToString() + " 个数据库内记录的操作全部完成。<br/><br/>");

            }
            finally
            {
                stop.EndLoop();
                stop.OnStop -= new StopEventHandler(this.DoStop);
                stop.Initial("");

                this.EnableControls(true);
            }
            return 0;
        }