Beispiel #1
0
        public double getMaxYoyCostRefValueBefore(string stockID, string year, string quarter)
        {
            string cacheID = makeUpCacheID(stockID, year, quarter);

            if (!m_yoyCostPerfCache.ContainsKey(cacheID))
            {
                int    maxYear       = 0;
                double maxCostRefVal = CostPerfYoyFilter.getMaxCostYoyRefValueBefore(stockID, year, quarter, out maxYear);
                m_yoyCostPerfCache.Add(cacheID, maxCostRefVal);
                m_bestYoyCostPerfQuarter.Add(stockID, maxYear.ToString() + "q" + quarter.ToString());
            }

            return(m_yoyCostPerfCache[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);
        }