示例#1
0
        public static List <FlowView> QueryTopViewsByPolicy(this List <FlowView> source, int topCount,
                                                            OrderFeelingRatePolicy policy)
        {
            var minDate = source.Min(x => x.StatTime);
            var maxDate = source.Max(x => x.StatTime);

            topCount *= (maxDate - minDate).Days + 1;
            switch (policy)
            {
            case OrderFeelingRatePolicy.OrderByDownlinkDurationDescendings:
                return(source.OrderByDescending(x => x.DownlinkFeelingDuration).Take(topCount).ToList());

            case OrderFeelingRatePolicy.OrderByDownlinkFeelingRateRate:
                return(source.OrderBy(x => x.DownlinkFeelingRate).Take(topCount).ToList());

            case OrderFeelingRatePolicy.OrderByUplinkDurationDescendings:
                return(source.OrderByDescending(x => x.UplinkFeelingDuration).Take(topCount).ToList());

            case OrderFeelingRatePolicy.OrderByUplinkFeelingRateRate:
                return(source.OrderBy(x => x.UplinkFeelingRate).Take(topCount).ToList());

            default:
                return(new List <FlowView>());
            }
        }
示例#2
0
        public List <FlowView> QueryTopFeelingRateViews(string city, string district, DateTime begin, DateTime end,
                                                        int topCount, OrderFeelingRatePolicy policy)
        {
            var joinViews = QueryDistrictViews(city, district, begin, end);

            return(joinViews.ToList().QueryTopViewsByPolicy(topCount, policy));
        }
示例#3
0
        public List <FlowView> QueryTopFeelingRateViews(DateTime begin, DateTime end, int topCount,
                                                        OrderFeelingRatePolicy policy)
        {
            var zteStats    = ZteRepository.FilterTopList(begin, end);
            var huaweiStats = HuaweiRepository.FilterTopList(begin, end);
            var joinViews   =
                HuaweiCellRepository.QueryAllFlowViews <FlowView, FlowZte, FlowHuawei>(zteStats, huaweiStats);

            return(joinViews.ToList().QueryTopViewsByPolicy(topCount, policy));
        }