// 작업 상태가 변경될 경우 호출할 콜백 void OnChangeWorkState(TYPE_WORK prev, TYPE_WORK cur, string msg) { string log = "work state convert : " + prev.ToString() + " to " + cur.ToString(); if ("" == msg) { m_mainCon.m_logger.OutputInfo(log); } else { m_mainCon.m_logger.OutputInfo(log + " - " + msg); } // 작업 완료 상황에 맞추어 색상을 변경함 if (TYPE_WORK.Login == prev && TYPE_WORK.ClearCart == cur) { btnStatLogin.BackColor = m_colFin; } else if (TYPE_WORK.ClearCart == prev && TYPE_WORK.CheckOrderItem == cur) { btnStatInitCart.BackColor = m_colFin; } else if (TYPE_WORK.CheckOrderItem == prev && TYPE_WORK.Payment == cur) { if (m_bOrderOK) { btnStatPayment.BackColor = m_colFin; } else { btnStatPayment.BackColor = m_colErr; } } else if (TYPE_WORK.Payment == prev && TYPE_WORK.Complete == cur) { // 작업이 끝났을때 처리. // 주문 상태를 엑셀로 출력. string inpath = m_mainCon.m_orderData.pathOrder; string outDir = Path.GetDirectoryName(inpath); string fileName = Path.GetFileNameWithoutExtension(inpath); string time = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"); string outPath = outDir + "\\" + fileName + " - result(" + m_mainCon.m_orderData.seller + ")-" + time + "-.xlsx"; UtilExcel.ListViewToExcel(this.listOrder, outPath); MessageBox.Show("작업 완료."); } }
public void GoNextWork(TYPE_WORK typeWork, WorkNodeArgment arg) { m_workNodes[(int)typeWork].Execute(arg); }
// 작업 도중 에러 발생시 호출할 콜백 // 에러 발생하면 중지 시키고 사용자에게 메시지 출력 void OnErrorWorkNode(TYPE_WORK type, string msg) { MessageBox.Show(msg); m_mainCon.m_logger.OutputError("FormOrder::OnErrorWorkNode", msg); Application.Exit(); }
public void Init(TYPE_WORK type, WorkManager workManager) { m_type = type; m_workManager = workManager; }