public FormMain() { string strNameFileINI = string.Empty; createHCmdArg(Environment.GetCommandLineArgs(), ref strNameFileINI); InitializeComponent(); m_formWait = FormWait.This; m_handler = new HHandlerQueue(strNameFileINI); m_handler.Start(); m_handler.Activate(true); m_panelWork = new PanelWork(); m_panelWork.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelWork); m_panelWork.Start(); m_panelConfig = new PanelConfig(); m_panelConfig.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelConfig); m_panelConfig.Start(); работаToolStripMenuItem.CheckOnClick = конфигурацияToolStripMenuItem.CheckOnClick = true; работаToolStripMenuItem.CheckStateChanged += new EventHandler(работаToolStripMenuItem_CheckStateChanged); конфигурацияToolStripMenuItem.CheckStateChanged += new EventHandler(конфигурацияToolStripMenuItem_CheckStateChanged); m_TabCtrl.EventHTabCtrlExClose += new HTabCtrlEx.DelegateHTabCtrlEx(onCloseTabPage); }
/// /// danasa 9-2010 private void onCloseEmpresas(object sender, EventArgs e) { /// danasa 20-9-2010 FormWait fw = new FormWait(); this.Cursor = Cursors.WaitCursor; try { fw.Show(); fw.DisplayMessage("Parando os serviços"); this.PararServicos(); fw.DisplayMessage("Lendo as empresas"); Empresa.CarregaConfiguracao(); fw.DisplayMessage("Iniciando os serviços"); this.ExecutaServicos(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { fw.Dispose(); this.Cursor = Cursors.Default; } }
public FormMain() { string strNameFileINI = string.Empty; createHCmdArg(Environment.GetCommandLineArgs(), ref strNameFileINI); InitializeComponent(); m_formWait = FormWait.This; _statePanelWork = PanelWork.STATE.Unknown; //// настраиваемые параметры манагера состояний объектов //HHandlerQueue.MSEC_TIMERFUNC_UPDATE = 1006; //HHandlerQueue.MSEC_CONFIRM_WAIT = 6666; m_handler = new HHandlerQueue(strNameFileINI); m_handler.EventInteraction += new DelegateObjectFunc(onEventInteraction); m_handler.Start(); m_handler.Activate(true); //m_handler.EventCrashed += new HHandlerQueue.EventHandlerCrashed(onCrashed); m_panelWork = new PanelWork(); m_panelWork.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelWork); m_panelConfig = new PanelConfig(); m_panelConfig.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelConfig); //m_handler.Push(); m_panelCS = new PanelClientServer(new PanelClientServer.InteractionParameters( //@"NE2844, NE3336" //, @"MainPipe" )); m_panelCS.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelCS); // автоматическое изменение состояния п.меню работаToolStripMenuItem.CheckOnClick = конфигурацияToolStripMenuItem.CheckOnClick = взаимодействиеToolStripMenuItem.CheckOnClick = true; // п.п.меню заблокированы - изменение состояния только программно //взаимодействиеToolStripMenuItem.CheckStateChanged += new EventHandler(взаимодействиеToolStripMenuItem_CheckStateChanged); //работаToolStripMenuItem.CheckStateChanged += new EventHandler(работаToolStripMenuItem_CheckStateChanged); конфигурацияToolStripMenuItem.CheckStateChanged += new EventHandler(конфигурацияToolStripMenuItem_CheckStateChanged); m_TabCtrl.EventHTabCtrlExClose += new HTabCtrlEx.DelegateHTabCtrlEx(onCloseTabPage); switch (s_state_execute) { case STATE_EXECUTE.MINIMIZE: Message msg = new Message(); msg.Msg = 0x112; msg.WParam = (IntPtr)(0xF020); WndProc(ref msg); break; case STATE_EXECUTE.NORMALIZE: this.OnMaximumSizeChanged(null); break; } }
public void GameStart(bool breakloop) { noOfCycles = int.Parse(textBoxInput.Text); if (!checkBoxMaxSpeed.Checked) { timerRun.Start(); } else { var t = Task.Run(() => { var fw = new FormWait(); var tw = Task.Run(() => { this.Invoke((MethodInvoker) delegate { fw.ShowDialog(this); }); }); CycleValue = 0; while (CycleValue < noOfCycles && buttonStartStop.Text == "Stop") { this.Invoke((MethodInvoker) delegate { if (fw.getState() == false && CycleValue < noOfCycles) { buttonStartStop.Text = "Continue"; buttonRandomise.Enabled = true; buttonReset.Enabled = true; } gm.NextState(); CycleValue++; if (CycleValue == noOfCycles) { buttonStartStop.Text = "Start"; buttonRandomise.Enabled = true; buttonReset.Enabled = true; } }); } this.Invoke((MethodInvoker) delegate { fw.Close(); }); }); } }
public FormMain() { string strNameFileINI = string.Empty; createHCmdArg(Environment.GetCommandLineArgs(), ref strNameFileINI); InitializeComponent(); m_formWait = FormWait.This; //// настраиваемые параметры манагера состояний объектов //HHandlerQueue.MSEC_TIMERFUNC_UPDATE = 1006; //HHandlerQueue.MSEC_CONFIRM_WAIT = 6666; m_handler = new HHandlerQueue(strNameFileINI); m_handler.Start(); m_handler.Activate(true); //m_handler.EventCrashed += new HHandlerQueue.EventHandlerCrashed(onCrashed); m_panelWork = new PanelWork(); m_panelWork.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelWork); m_panelWork.Start(); m_panelConfig = new PanelConfig(); m_panelConfig.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelConfig); m_panelConfig.Start(); m_panelCS = new PanelClienServer(new string[] { //"NE2844", "NE3336", "NE3963" , "ITC563" //,"VNE3963" }); m_panelCS.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelCS); m_panelCS.Start(); работаToolStripMenuItem.CheckOnClick = конфигурацияToolStripMenuItem.CheckOnClick = взаимодействиеToolStripMenuItem.CheckOnClick = true; взаимодействиеToolStripMenuItem.CheckStateChanged += new EventHandler(взаимодействиеToolStripMenuItem_CheckStateChanged); работаToolStripMenuItem.CheckStateChanged += new EventHandler(работаToolStripMenuItem_CheckStateChanged); конфигурацияToolStripMenuItem.CheckStateChanged += new EventHandler(конфигурацияToolStripMenuItem_CheckStateChanged); m_TabCtrl.EventHTabCtrlExClose += new HTabCtrlEx.DelegateHTabCtrlEx(onCloseTabPage); switch (s_state_execute) { case STATE_EXECUTE.MINIMIZE: Message msg = new Message(); msg.Msg = 0x112; msg.WParam = (IntPtr)(0xF020); WndProc(ref msg); break; case STATE_EXECUTE.NORMALIZE: this.OnMaximumSizeChanged(null); break; } }
public void makeTable() { backgroudWoker = new BackgroundWorker(); backgroudWoker.DoWork += new DoWorkEventHandler(makeTableDoWork); backgroudWoker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(makeTableRunWorkerCompletedEventHandler); backgroudWoker.WorkerSupportsCancellation = true; formWait = new FormWait(); formWait.end(""); formWait.setLabel("Please wait while parsing tables"); formWait.setStyle(ProgressBarStyle.Marquee); formWait.FormClosing += new FormClosingEventHandler(waitFormClosingEventHandler); backgroudWoker.RunWorkerAsync(); formWait.ShowDialog(); }
/// <summary> /// Конструктор - основной (без аргументов) /// </summary> public FormMain() : base(@"IconMainULoader") { //Logging.Logg().Debug(string.Format(@"FormMain::ctor() - вХод, IsNormalized={0} ...", HCmd_Arg.IsNormalized), Logging.INDEX_MESSAGE.NOT_SET); loggingLinkId(); InitializeComponent(); if (HCmd_Arg.IsNormalized == true) { m_formWait = FormWait.This; } else { ; } _statePanelWork = PanelWork.STATE.Unknown; //// настраиваемые параметры манагера состояний объектов //HHandlerQueue.MSEC_TIMERFUNC_UPDATE = 1006; //HHandlerQueue.MSEC_CONFIRM_WAIT = 6666; createHandlerQueue(typeof(HHandlerQueue)); Handler.EventInteraction += new DelegateObjectFunc(onEventInteraction); m_handler.Start(); m_handler.Activate(true); //m_handler.EventCrashed += new HHandlerQueue.EventHandlerCrashed(onCrashed); m_panelWork = new PanelWork(); m_panelWork.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelWork); m_panelConfig = new PanelConfig(); m_panelConfig.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelConfig); //m_handler.Push(); m_panelCS = new PanelClientServer(new PanelClientServer.InteractionParameters( //@"NE2844, NE3336" //, @"MainPipe" )); m_panelCS.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelCS); // автоматическое изменение состояния п.меню работаToolStripMenuItem.CheckOnClick = конфигурацияToolStripMenuItem.CheckOnClick = взаимодействиеToolStripMenuItem.CheckOnClick = true; // п.п.меню заблокированы - изменение состояния только программно //взаимодействиеToolStripMenuItem.CheckStateChanged += new EventHandler(взаимодействиеToolStripMenuItem_CheckStateChanged); //работаToolStripMenuItem.CheckStateChanged += new EventHandler(работаToolStripMenuItem_CheckStateChanged); конфигурацияToolStripMenuItem.CheckStateChanged += new EventHandler(конфигурацияToolStripMenuItem_CheckStateChanged); m_TabCtrl.EventHTabCtrlExClose += new HTabCtrlEx.DelegateHTabCtrlEx(onCloseTabPage); //Logging.Logg().Debug(string.Format(@"FormMain::ctor() - вЫХод ..."), Logging.INDEX_MESSAGE.NOT_SET); }
public void parseRecord(Table table, bool status) { isSaveData = false; isReadData = true; backgroudWoker = new BackgroundWorker(); backgroudWoker.DoWork += new DoWorkEventHandler(readRecordsDoWork); backgroudWoker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(readRecordsRunWorkerCompletedEventHandler); backgroudWoker.WorkerSupportsCancellation = true; formWait = new FormWait(); formWait.setStyle(ProgressBarStyle.Blocks); formWait.setLabel("Please wait while loading records"); formWait.FormClosing += new FormClosingEventHandler(waitFormClosingEventHandler); backgroudWoker.RunWorkerAsync(new Tuple <Table, bool>(table, status)); formWait.ShowDialog(); }
public void saveData(FormSave formSave, Table table, Boolean status) { isSaveData = true; isReadData = false; this.formSave = formSave; backgroudWoker = new BackgroundWorker(); backgroudWoker.DoWork += new DoWorkEventHandler(readRecordsDoWork); backgroudWoker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(saveRunWorkerCompletedEventHandler); backgroudWoker.WorkerSupportsCancellation = true; var tableData = new Tuple <Table, Boolean>(table, status); backgroudWoker.RunWorkerAsync(tableData); formWait = new FormWait(); formWait.FormClosing += new FormClosingEventHandler(waitFormClosingEventHandler); formWait.ShowDialog(); }
/// /// danasa 9-2010 private void onCloseConfiguracao(object sender, EventArgs e) { /// danasa 20-9-2010 FormWait fw = new FormWait(); this.Cursor = Cursors.WaitCursor; try { fw.Show(); fw.DisplayMessage("Parando os serviços"); this.PararServicos(); fw.DisplayMessage("Iniciando os serviços"); this.ExecutaServicos(); } finally { this.Cursor = Cursors.Default; fw.Dispose(); } }
public FormMain() { InitializeComponent(); m_formWait = FormWait.This; m_handler = new HHandlerQueue(); m_handler.Start(); m_handler.Activate(true); m_panelWork = new PanelWork(); m_panelWork.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelWork); m_panelWork.Start(); m_panelConfig = new PanelConfig(); m_panelConfig.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelConfig); m_panelConfig.Start(); работаToolStripMenuItem.CheckOnClick = конфигурацияToolStripMenuItem.CheckOnClick = true; работаToolStripMenuItem.CheckStateChanged += new EventHandler(работаToolStripMenuItem_CheckStateChanged); конфигурацияToolStripMenuItem.CheckStateChanged += new EventHandler(конфигурацияToolStripMenuItem_CheckStateChanged); m_TabCtrl.EventHTabCtrlExClose += new HTabCtrlEx.DelegateHTabCtrlEx(onCloseTabPage); }
public FormMain() { string strNameFileINI = string.Empty; createHCmdArg(Environment.GetCommandLineArgs(), ref strNameFileINI); InitializeComponent(); m_formWait = FormWait.This; m_handler = new HHandlerQueue(strNameFileINI); m_handler.Start(); m_handler.Activate(true); m_panelWork = new PanelWork(); m_panelWork.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelWork); m_panelWork.Start(); m_panelConfig = new PanelConfig(); m_panelConfig.EvtDataAskedHost += new DelegateObjectFunc(OnEvtDataAskedFormMain_PanelConfig); m_panelConfig.Start(); работаToolStripMenuItem.CheckOnClick = конфигурацияToolStripMenuItem.CheckOnClick = true; работаToolStripMenuItem.CheckStateChanged += new EventHandler(работаToolStripMenuItem_CheckStateChanged); конфигурацияToolStripMenuItem.CheckStateChanged += new EventHandler(конфигурацияToolStripMenuItem_CheckStateChanged); m_TabCtrl.EventHTabCtrlExClose += new HTabCtrlEx.DelegateHTabCtrlEx(onCloseTabPage); switch (m_state_execute) { case STATE_EXECUTE.MINIMIZE: Message msg = new Message(); msg.Msg = 0x112; msg.WParam = (IntPtr)(0xF020); WndProc(ref msg); break; case STATE_EXECUTE.NORMALIZE: this.OnMaximumSizeChanged(null); break; } }
private void tbRestartServico_Click(object sender, EventArgs e) { FormWait fw = new FormWait(); fw.Show(); try { fw.DisplayMessage("Reiniciando o serviço do UniNFe"); ServiceProcess.RestartService(srvName, 40000); this.updateControleDoServico(); fw.StopMarquee(); MessageBox.Show("Serviço do UniNFe reiniciado com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { fw.Dispose(); } }
//protected override ResultStatus Run(PokeBall args) //{ // this.BeginInvoke(new MethodInvoker(() => { // args.GridControlMain = gcMain; // args.GridControlSecond = gcLogsp; // args.OcfDate = txtOcfDate.DateTimeValue; // args.OcfType = OCF_TYPE; // })); // ResultStatus result = base.RunAsync(args); // return result; //} /// <summary> /// 1系列功能使用 /// </summary> /// <param name="args"></param> /// <returns></returns> protected override ResultStatus Run(PokeBall args) { DateTime OcfDate = txtOcfDate.DateTimeValue; this.Invoke(new MethodInvoker(() => { FormWait formWait = new FormWait(); SplashScreenManager.ShowForm(this, typeof(FormWait), true, true); //SplashScreenManager.ShowForm(this , typeof(FormWait) , true , true , SplashFormStartPosition.Manual , pointWait , ParentFormState.Locked); })); GridView gv = gvMain; DataTable dtLOGSPForRuned = servicePrefix1.ListLogspForRunned(OcfDate, _ProgramID, OCF_TYPE); DataView dvLOGSPForRuned = new DataView(dtLOGSPForRuned); servicePrefix1.SetTXF1(" ", _ProgramID); for (int i = 0; i < gv.RowCount; i++) { string TXF_SERVER = gv.GetRowCellValue(i, "TXF_SERVER").AsString(); string TXF_DB = gv.GetRowCellValue(i, "TXF_DB").AsString(); string TXF_TXN_ID = gv.GetRowCellValue(i, "TXF_TXN_ID").AsString(); int TXF_SEQ_NO = gv.GetRowCellValue(i, "TXF_SEQ_NO").AsInt(); string TXF_TYPE = gv.GetRowCellValue(i, "TXF_TYPE").AsString(); string TXF_TID = gv.GetRowCellValue(i, "TXF_TID").AsString(); string TXF_TID_NAME = gv.GetRowCellValue(i, "TXF_TID_NAME").AsString(); string TXF_DESC = gv.GetRowCellValue(i, "TXF_DESC").AsString(); string TXF_DEFAULT = gv.GetRowCellValue(i, "TXF_DEFAULT").AsString(); string TXF_REDO = gv.GetRowCellValue(i, "TXF_REDO").AsString(); string TXF_ARG = gv.GetRowCellValue(i, "TXF_ARG").AsString(); string TXF_PERIOD = gv.GetRowCellValue(i, "TXF_PERIOD").AsString(); string TXF_SERVICE = gv.GetRowCellValue(i, "TXF_SERVICE").AsString(); string TXF_FOLDER = gv.GetRowCellValue(i, "TXF_FOLDER").AsString(); string TXF_AP_NAME = gv.GetRowCellValue(i, "TXF_AP_NAME").AsString(); args.TXF_TID = TXF_TID; args.TXF_TID_NAME = TXF_TID_NAME; if (TXF_DEFAULT == "1") { DateTime LOGSP_DATE = OcfDate; string LOGSP_TXN_ID = _ProgramID; int LOGSP_SEQ_NO = TXF_SEQ_NO; string LOGSP_TID = TXF_DESC; string LOGSP_TID_NAME = TXF_TID_NAME; DateTime LOGSP_BEGIN_TIME = new DateTime(); DateTime LOGSP_END_TIME = new DateTime(); string LOGSP_MSG = ""; //判斷是否可重覆執行 if (TXF_REDO == "N") { dvLOGSPForRuned.RowFilter = "LOGSP_TID='" + LOGSP_TID + "' AND NOT ISNULL(LOGSP_BEGIN_TIME)"; if (dvLOGSPForRuned.Count != 0) { if (MessageDisplay.Choose(TXF_TID + " ★★★曾經執行過且不可重覆執行,是否強迫繼續執行 ?") == DialogResult.No) { return(ResultStatus.Fail); } } } #region 開始執行 LOGSP_BEGIN_TIME = DateTime.Now; string nextYmd = PbFunc.f_ocf_date(2, _DB_TYPE); if (!string.IsNullOrEmpty(TXF_PERIOD)) { switch (TXF_PERIOD) { case "M": //月底執行 if (OcfDate.ToString("yyyyMM") == PbFunc.Left(nextYmd, 6)) { LOGSP_MSG = "完成! (今日非月底,不需執行)"; this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "TXF_DEFAULT", 0); })); } break; case "W": //週最後一天執行 if (Convert.ToInt32(OcfDate.DayOfWeek) < Convert.ToInt32(nextYmd.AsDateTime("yyyyMMdd").DayOfWeek)) { LOGSP_MSG = "完成! (今日非本週最後1天,不需執行)"; this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "TXF_DEFAULT", 0); })); } break; case "Y": //年底執行 if (OcfDate.ToString("yyyy") == PbFunc.Left(nextYmd, 4)) { LOGSP_MSG = "完成! (今日非本年度最後1日,不需執行)"; this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "TXF_DEFAULT", 0); })); } break; } LOGSP_END_TIME = DateTime.Now; servicePrefix1.SaveLogsp(LOGSP_DATE, LOGSP_TXN_ID, LOGSP_SEQ_NO, LOGSP_TID, LOGSP_TID_NAME, LOGSP_BEGIN_TIME, LOGSP_END_TIME, LOGSP_MSG, OCF_TYPE); continue; } //開始前執行特別的Function string rtnText = RunBeforeEveryItem(args); if (!string.IsNullOrEmpty(rtnText)) { if (PbFunc.Left(rtnText, 4) == "不需執行") { LOGSP_MSG = "完成! (" + rtnText + ")"; gv.SetRowCellValue(i, "ERR_MSG", LOGSP_MSG); gv.SetRowCellValue(i, "TXF_DEFAULT", 0); LOGSP_END_TIME = DateTime.Now; servicePrefix1.SaveLogsp(LOGSP_DATE, LOGSP_TXN_ID, LOGSP_SEQ_NO, LOGSP_TID, LOGSP_TID_NAME, LOGSP_BEGIN_TIME, LOGSP_END_TIME, LOGSP_MSG, OCF_TYPE); } else { if (MessageDisplay.Choose($"{rtnText}是否強迫繼續執行?", MessageBoxDefaultButton.Button2).AsInt() == 2) { gv.SetRowCellValue(i, "ERR_MSG", rtnText); continue; } } } //記錄正在執行 servicePrefix1.SetTXF1(TXF_TID, _ProgramID); servicePrefix1.SaveLogs(LOGSP_DATE, TXF_TID, DateTime.Now, GlobalInfo.USER_ID, "開始執行"); ResultData resultData = new ResultData(); string fileName = ""; switch (TXF_TYPE) { //Informatica case "I": fileName = $@"{GlobalInfo.DEFAULT_BATCH_ErrSP_DIRECTORY_PATH}\{TXF_SERVER}_{TXF_TXN_ID}_{TXF_SEQ_NO}_infor"; resultData = serviceCommon.ExecuteInfoWorkFlow(TXF_TID, UserProgInfo, TXF_FOLDER, TXF_SERVICE, TXF_AP_NAME, fileName); break; //SP case "S": List <DbParameterEx> listParams = null; // 如果這個SP有參數的話 if (TXF_ARG == "Y") { DataTable dtTXFPARM = serviceCommon.ListTXFPARM(TXF_SERVER, TXF_DB, TXF_TXN_ID, TXF_TID); if (dtTXFPARM.Rows.Count > 0) { listParams = new List <DbParameterEx>(); } foreach (DataRow row in dtTXFPARM.Rows) { string TXFPARM_ARG = row["TXFPARM_ARG"].AsString(); string TXFPARM_ARG_TYPE = row["TXFPARM_ARG_TYPE"].AsString(); string TXFPARM_DEFAULT = row["TXFPARM_DEFAULT"].AsString(); DbParameterEx paramEx; switch (TXFPARM_ARG) { case "": paramEx = new DbParameterEx("", TXFPARM_DEFAULT); listParams.Add(paramEx); break; case "em_ymd": paramEx = new DbParameterEx("", OcfDate.ToString("yyyyMMdd")); listParams.Add(paramEx); break; case "em_ym": paramEx = new DbParameterEx("", OcfDate.ToString("yyyyMM")); listParams.Add(paramEx); break; case "em_date": paramEx = new DbParameterEx(); paramEx.DbType = DbTypeEx.Date; paramEx.Name = ""; paramEx.Value = OcfDate; listParams.Add(paramEx); break; default: break; } } } ConnectionInfo connectionInfo = SettingDragons.Instance.GetConnectionInfo(TXF_DB); try { resultData = serviceCommon.ExecuteStoredProcedure(connectionInfo, string.Format("{0}.{1}", TXF_DB, TXF_TID), listParams, true); } catch (Exception ex) { resultData.Status = ResultStatus.Fail; string msg = fileName = $@"{GlobalInfo.DEFAULT_BATCH_ErrSP_DIRECTORY_PATH}\{TXF_SERVER}_{TXF_TXN_ID}_{TXF_SEQ_NO}.err"; System.IO.File.WriteAllText(fileName, ex.Message); resultData.returnString = $"請通知「{TXF_AP_NAME}」 作業執行失敗!\n{ex.Message}"; } break; //視窗功能 case "W": this.Invoke(new MethodInvoker(() => { resultData = ExecuteForm(args); })); break; default: break; } LOGSP_END_TIME = DateTime.Now; if (resultData.Status == ResultStatus.Success) { LOGSP_MSG = "執行正常完成!"; } else { LOGSP_MSG = "作業執行失敗!"; servicePrefix1.SaveLogsp(LOGSP_DATE, LOGSP_TXN_ID, LOGSP_SEQ_NO, LOGSP_TID, LOGSP_TID_NAME, LOGSP_BEGIN_TIME, LOGSP_END_TIME, LOGSP_MSG, OCF_TYPE); //MessageDisplay.Error("序號" + LOGSP_SEQ_NO + "的" + LOGSP_TID + "," + LOGSP_MSG); MessageDisplay.Error(resultData.returnString); this.Invoke(new MethodInvoker(() => { SplashScreenManager.CloseForm(); gv.SetRowCellValue(i, "ERR_MSG", LOGSP_MSG); })); return(ResultStatus.Fail); } this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "ERR_MSG", LOGSP_MSG); })); servicePrefix1.SaveLogsp(LOGSP_DATE, LOGSP_TXN_ID, LOGSP_SEQ_NO, LOGSP_TID, LOGSP_TID_NAME, LOGSP_BEGIN_TIME, LOGSP_END_TIME, LOGSP_MSG, OCF_TYPE); servicePrefix1.SaveLogs(LOGSP_DATE, TXF_TID, DateTime.Now, GlobalInfo.USER_ID, "執行完畢"); #endregion 開始執行 #region 執行特別的程式 this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "TXF_DEFAULT", 0); RunAfterEveryItem(args); })); #endregion 執行特別的程式 //流程時間控制 DataTable dtJRF = servicePrefix1.ListJrf(_ProgramID, TXF_TID); if (dtJRF.Rows.Count > 0) { string JRF_DO_TXN_ID = dtJRF.Rows[0]["JRF_DO_TXN_ID"].AsString(); string JRF_DO_JOB_TYPE = dtJRF.Rows[0]["JRF_DO_TXN_ID"].AsString(); string JRF_DO_SEQ_NO = dtJRF.Rows[0]["JRF_DO_TXN_ID"].AsString(); string JRF_SW_CODE = dtJRF.Rows[0]["JRF_DO_TXN_ID"].AsString(); servicePrefix1.UpdateJsw(JRF_DO_TXN_ID, JRF_DO_JOB_TYPE, JRF_DO_SEQ_NO, JRF_SW_CODE, OcfDate, DateTime.Now, GlobalInfo.USER_ID); } } else { // 沒勾選項目的話清空狀態 this.Invoke(new MethodInvoker(() => { gv.SetRowCellValue(i, "ERR_MSG", ""); })); } if (i == gv.RowCount - 1 && OCF_TYPE == "D") { servicePrefix1.setCIOCF(); } } //全部結束 servicePrefix1.SetTXF1(" ", _ProgramID); this.Invoke(new MethodInvoker(() => { SplashScreenManager.CloseForm(); })); return(ResultStatus.Success); }