private SpotTradeRulesProxy()
        {
            //minChangeObj =
            //    new WCFCacheObjectWithGetAllNoKey<XH_MinChangePriceValue>(GetAllMinChangePriceValueFromWCF);

            //minChangeObjByBreedClassID =
            //    new WCFCacheObjectWithGetKey<int, IList<XH_MinChangePriceValue>>(
            //        GetMinChangePriceValueByBreedClassIDFromWCF);

            minVolumeByBreedClassIDObj =
                new WCFCacheObjectWithGetKey <int, IList <XH_MinVolumeOfBusiness> >(
                    GetMinVolumeOfBusinessByBreedClassIDFromWCF);

            minVolumeObj =
                new WCFCacheObjectWithGetAllNoKey <XH_MinVolumeOfBusiness>(GetAllMinVolumeOfBusinessFromWCF);

            //rightHighLowPricesByHightLowIDObj =
            //    new WCFCacheObjectWithGetKey<int, IList<XH_RightHightLowPrices>>(
            //        GetRightHighLowPricesByHightLowIDFromWCF);

            //rightHightLowPricesObj =
            //    new WCFCacheObjectWithGetAllNoKey<XH_RightHightLowPrices>(GetAllRightHighLowPricesFromWCF);

            spotCostsObj =
                new WCFCacheObject <int, XH_SpotCosts>(GetAllSpotCostsFromWCF, GetSpotCostsByBreedClassIDFromWCF,
                                                       val => val.BreedClassID);

            spotHighLowControlTypeObj =
                new WCFCacheObjectWithGetAll <int, XH_SpotHighLowControlType>(GetAllSpotHighLowControlTypeFromWCF,
                                                                              val => val.BreedClassHighLowID);

            spotHighLowValueByBreedClassHighLowIDObj =
                new WCFCacheObjectWithGetKey <int, IList <XH_SpotHighLowValue> >(
                    GetSpotHighLowValueByBreedClassHighLowIDFromWCF);

            spotHighLowValueObj =
                new WCFCacheObject <int, XH_SpotHighLowValue>(GetAllSpotHighLowValueFromWCF,
                                                              GetSpotHighLowByHightLowValueIDFromWCF,
                                                              val => val.HightLowValueID);

            spotPositionObj =
                new WCFCacheObject <int, XH_SpotPosition>(GetAllSpotPositionFromWCF, GetSpotPositionByBreedClassIDFromWCF,
                                                          Val => Val.BreedClassID);

            //spotRangCostObj =
            //    new WCFCacheObjectWithGetAllNoKey<XH_SpotRangeCost>(GetAllSpotRangeCostFromWCF);

            //spotRangeCostByBreedClassID =
            //    new WCFCacheObjectWithGetKey<int, IList<XH_SpotRangeCost>>(GetSpotRangeCostByBreedClassIDFromWCF);

            spotTradeRulesObj =
                new WCFCacheObject <int, XH_SpotTradeRules>(GetAllSpotTradeRulesFromWCF,
                                                            GetSpotTradeRulesByBreedClassIDFromWCF,
                                                            val => val.BreedClassID);

            validDeclareTypeObj =
                new WCFCacheObject <int, XH_ValidDeclareType>(GetAllValidDeclareTypeFromWCF,
                                                              GetValidDeclareTypeByBreedClassValidIDFromWCF,
                                                              val => val.BreedClassValidID);
        }
        private HKStockTradeRulesProxy()
        {
            hkCommodityObj = new WCFCacheObject <string, HK_Commodity>(GetAllHKCommodityFromWCF, GetHKCommodityByCommodityCodeFromWCF, Val => Val.HKCommodityCode);

            spotCostsObj = new WCFCacheObject <int, HK_SpotCosts>(GetAllSpotCostsFromWCF, GetSpotCostsByBreedClassIDFromWCF, val => val.BreedClassID);

            spotTradeRulesObj = new WCFCacheObject <int, HK_SpotTradeRules>(GetAllSpotTradeRulesFromWCF, GetSpotTradeRulesByBreedClassIDFromWCF, val => val.BreedClassID);

            minPriceFieldRangeObj = new WCFCacheObjectWithGetAll <int, HK_MinPriceFieldRange>(GetAllHKMinPriceFieldRangeFromWCF, val => val.FieldRangeID);
        }