public ReportRunner() { excelHelper = new ClientExcel(); mgrExcelHelper = new ManagerExcel(); paras = new RunnerParas(); fileMgr = new FileMgr(); clients = new List <Client>(); }
/// <summary> /// Validate file and command input paras since so many combinations are so confusing. /// Rule 1. Saver mode, no file account is allowed.(All accounts must be covered) /// Rule 2. Regular mode, no file account is allowed. TradingDay must be one. /// Rule 3. Reporter mode, no file account is allowed. Report all account or nothing. /// Rule 4. CLIENT_REPORT, must input tradingDays and accounts from file. /// Rule 5. Manager report, must contains some valid input days. /// </summary> /// <param name="paras_">Input Runtime Paras</param> /// <returns></returns> public static bool isParaValid(RunnerParas paras_) { Mode mode = paras_.parseMode(); string msg = null; if (mode.Equals(Mode.SAVER)) { if (paras_.getAccounts().Count != 0) { msg = "Account input is not valid for this mode " + mode.ToString(); addErrorMessage(msg); return(false); } } else if (mode.Equals(Mode.REGULAR)) { if (paras_.getAccounts().Count != 0) { msg = "Account input is not valid for this mode " + mode.ToString(); addErrorMessage(msg); return(false); } if (paras_.getTradingDays().Count != 1) { msg = "More than 1 tradingDay is not valid for this mode " + mode.ToString(); addErrorMessage(msg); return(false); } } else if (mode.Equals(Mode.REPORTER)) { //if (paras_.getAccounts().Count != 0) if (paras_.getAccounts().Count == 0) { msg = "Account input is not valid for this mode " + mode.ToString(); addErrorMessage(msg); return(false); } if (paras_.getTradingDays().Count != 1) { msg = "More than 1 tradingDay is not valid for this mode " + mode.ToString(); addErrorMessage(msg); return(false); } } else if (mode.Equals(Mode.CLIENT_REPORT)) { if (paras_.getTradingDays().Count == 0) { msg = "Please specify days by file for this mode " + mode.ToString(); addErrorMessage(msg); return(false); } } else if (mode.Equals(Mode.MANAGER_REPORT)) { if (paras_.getTradingDays().Count == 0) { msg = "Please at least specify some tradingDays for mode " + mode.ToString(); addErrorMessage(msg); return(false); } } else { throw new InvalidOperationException("Input Mode " + mode.ToString() + " Not Supported."); } logger.Info("Para Validation Passed."); return(true); }
public ReportController() { this.runner = new ReportRunner(); this.paras = new RunnerParas(); }
public void init(RunnerParas paras_) { paras = paras_; fileMgr.init(paras.getLogRoots(), paras.getFileConfig().getOrderFileName()); loadClients(); }