protected override ResultStatus Import() { base.Import(gcMain); //1.讀檔並寫入DataTable try { Stream openFile = PbFunc.wf_getfileopenname("56090.txt", "*.txt (*.txt)|*.txt"); //選擇取消時, 不做處理 if (openFile == null) { return(ResultStatus.FailButNext); } ImportShow.Text = "開始轉檔..."; ImportShow.Show(); using (TextReader tr = new StreamReader(openFile)) { string line; while ((line = tr.ReadLine()) != null) { DataRow d = dtReadTxt.NewRow(); float DISC_RATE = float.Parse(line.SubStr(32, 9)) == 0 ? 0 : float.Parse(line.SubStr(32, 9)) / 100000000; d[0] = line.SubStr(0, 6); d[1] = line.SubStr(6, 7); d[2] = line.SubStr(13, 7); d[3] = line.SubStr(20, 4); d[4] = line.SubStr(24, 8); d[5] = DISC_RATE == 0 ? "0" : DISC_RATE.ToString("##.##"); d[6] = line.SubStr(41, 10); d[7] = line.SubStr(51, 10); d[8] = GlobalInfo.USER_ID; d[9] = DateTime.Now; d[10] = line.SubStr(61, 2); dtReadTxt.Rows.Add(d); } } //2.確認資料日期&畫面日期(讀取資料) string datadate = dtReadTxt.Rows[0][0].ToString(); if (datadate != txtYM.Text.Replace("/", "")) { DialogResult result = MessageBox.Show("資料年月(" + datadate + ")與畫面年月不同,是否將畫面改為資料年月?", "注意", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.No) { return(ResultStatus.Fail); } else { txtYM.Text = datadate.SubStr(0, 4) + "/" + datadate.SubStr(4, 2); } } //3.刪除舊有資料 if (dao56090.DeleteByYM(datadate) < 0) { MessageDisplay.Error("刪除失敗"); return(ResultStatus.Fail); } //4.轉入資料即PB的wf_importfile()→wf_importfile_extra() if (Save(new PokeBall()) == ResultStatus.Success) { ImportShow.Text = "轉檔完成!"; Retrieve(); } else { throw new Exception("轉檔失敗"); } } catch (Exception ex) { throw ex; } return(ResultStatus.Success); }