bool Insert() { bool bResult = true; ProcessStateManager.Instance.ChangeStateAndReport(CRAWLER_STATE.DB_CRAWLER_INFO, Worker_); bResult = BaseChannel_.DB_GetInfos(); // DB에서 크롤러 정보 로드 BaseChannel_.actionType = "insert"; // 채널에 로그인 if (bResult == true) { ProcessStateManager.Instance.ChangeStateAndReport(CRAWLER_STATE.CH_LOGIN, Worker_); bResult = BaseChannel_.Web_Login(); } else { ProcessStateManager.Instance.LastErrorMessage_ = "Error BaseChannel_.DB_GetInfos 실패"; NewLogManager2.Instance.Log(ProcessStateManager.Instance.LastErrorMessage_); } // 상품 판매 정보 다운로드 해서 엑셀에 저장 if (bResult == true) { ProcessStateManager.Instance.ChangeStateAndReport(CRAWLER_STATE.CH_DOWN, Worker_); bResult = BaseChannel_.Web_DownLoadExcel(); } else { ProcessStateManager.Instance.LastErrorMessage_ = "Error BaseChannel_.Web_Login 로그인 실패"; NewLogManager2.Instance.Log(ProcessStateManager.Instance.LastErrorMessage_); } // 엑셀 데이터 로드해서 리스트에 넣기 if (bResult == true) { ProcessStateManager.Instance.ChangeStateAndReport(CRAWLER_STATE.EX_PARSING, Worker_); bResult = BaseChannel_.ExcelParsing(); } else { ProcessStateManager.Instance.LastErrorMessage_ = "Error BaseChannel_.Web_DownLoadExcel 엑셀다운 실패"; NewLogManager2.Instance.Log(ProcessStateManager.Instance.LastErrorMessage_); } // 새로 추가된 데이터 인지 체크 if (bResult == true) { ProcessStateManager.Instance.ChangeStateAndReport(CRAWLER_STATE.EX_CHECK_NEW, Worker_); bResult = BaseChannel_.CheckNewOrder(); } else { ProcessStateManager.Instance.LastErrorMessage_ = "Error BaseChannel_.ExcelParsing 엑셀파싱 실패"; NewLogManager2.Instance.Log(ProcessStateManager.Instance.LastErrorMessage_); } // 두개를 비교하여 새로 생긴것은 Insert 하자. if (bResult == true) { ProcessStateManager.Instance.ChangeStateAndReport(CRAWLER_STATE.DB_PROCESS, Worker_); bResult = BaseChannel_.DB_InsertData(); } else { ProcessStateManager.Instance.LastErrorMessage_ = "Error BaseChannel_.CheckNewOrder 체크 실패"; NewLogManager2.Instance.Log(ProcessStateManager.Instance.LastErrorMessage_); } return(bResult); }