protected override double calcRefData(string code) { string year = GlobalConfig.getInstance().curYear; string quarter = GlobalConfig.getInstance().curQuarter; int maxYear = 0, maxQuarter = 0; double histData = QuarterCostPerfFilter.getMaxQuarterCostRefValueBefore(code, year, quarter, out maxYear, out maxQuarter); double curData = QuarterCostPerfFilter.calcCurCostRefValue(code, year, quarter); return(curData / histData); }
public double getMaxQuarterCostRefValueBefore(string stockID, string year, string quarter) { string cacheID = makeUpCacheID(stockID, year, quarter); if (!m_quarterCostPerfCache.ContainsKey(cacheID)) { int maxYear = 0, maxQuarter = 0; double maxCostRefVal = QuarterCostPerfFilter.getMaxQuarterCostRefValueBefore(stockID, year, quarter, out maxYear, out maxQuarter); m_quarterCostPerfCache.Add(cacheID, maxCostRefVal); m_bestQuarterCostPerfQuarter.Add(stockID, maxYear.ToString() + "q" + maxQuarter.ToString()); } return(m_quarterCostPerfCache[cacheID]); }
protected IStockFilter generateCostFilter() { IStockFilter filter = null; AppCostFilterSubType cfType = (AppCostFilterSubType)m_subType; string year = GlobalConfig.getInstance().curYear; string quarter = GlobalConfig.getInstance().curQuarter; switch (cfType) { case AppCostFilterSubType.CFST_Annual: filter = new AnnualCostPerfFilter(year, quarter, m_param1); break; case AppCostFilterSubType.CFST_Dynamic: filter = new CostPerfFilter(year, quarter, m_param1); break; case AppCostFilterSubType.CFST_Quarter: filter = new QuarterCostPerfFilter(year, quarter, m_param1); break; case AppCostFilterSubType.CFST_Spec: string refYear = GlobalConfig.getInstance().defaultRefYear; filter = new SpecifiedCostPerfFilter(refYear, quarter, year, quarter, m_param1); break; case AppCostFilterSubType.CFST_Yoy: filter = new CostPerfYoyFilter(year, quarter, m_param1); break; default: break; } return(filter); }