Ejemplo n.º 1
0
        public static IEnumerable <TView> QueryDistrictViews <TView, TStat>(this List <TStat> stats, string city,
                                                                            string district,
                                                                            ITownRepository townRepository, IENodebRepository eNodebRepository)
            where TStat : ILteCellQuery
            where TView : class, IENodebName, ILteCellQuery, new()
        {
            var eNodebs = townRepository.QueryENodebs(eNodebRepository, city, district);

            if (!eNodebs.Any())
            {
                return(new List <TView>());
            }

            var views = eNodebs.QueryZteViews <TView, TStat>(stats);

            return(views.ToList());
        }
Ejemplo n.º 2
0
        public static IEnumerable <TView> QueryTownFlowViews <TView, TZte, THuawei>(this ICellRepository huaweiCellRepository,
                                                                                    string city, string district, string town, List <TZte> zteStats, List <THuawei> huaweiStats,
                                                                                    FrequencyBandType frequency,
                                                                                    ITownRepository townRepository, IENodebRepository eNodebRepository)
            where TZte : ILteCellQuery
            where THuawei : ILocalCellQuery
            where TView : class, IENodebName, ILteCellQuery, new()
        {
            var eNodebs = townRepository.QueryENodebs(eNodebRepository, city, district, town);

            if (!eNodebs.Any())
            {
                return(new List <TView>());
            }

            var zteViews   = eNodebs.QueryZteViews <TView, TZte>(zteStats);
            var huaweiList = eNodebs.QueryHuaweiViews <TView, THuawei>(huaweiStats, huaweiCellRepository);

            IEnumerable <Tuple <TView, byte> > huaweiViews;

            switch (frequency)
            {
            case FrequencyBandType.All:
                huaweiViews = huaweiList;
                break;

            case FrequencyBandType.Band2100:
                huaweiViews = huaweiList.Where(x => x.Item2 < 16);
                break;

            case FrequencyBandType.Band1800:
                huaweiViews = huaweiList.Where(x => x.Item2 >= 48 && x.Item2 < 64);
                break;

            default:
                huaweiViews = huaweiList.Where(x => x.Item2 >= 16 && x.Item2 < 32);
                break;
            }
            return(zteViews.Concat(huaweiViews.Select(v =>
            {
                var view = v.Item1;
                view.SectorId = v.Item2;
                return view;
            })).ToList());
        }
Ejemplo n.º 3
0
        public static IEnumerable <TView> QueryDistrictFlowViews <TView, TZte, THuawei>(this ICellRepository huaweiCellRepository,
                                                                                        string city, string district, List <TZte> zteStats, List <THuawei> huaweiStats,
                                                                                        ITownRepository townRepository, IENodebRepository eNodebRepository)
            where TZte : ILteCellQuery
            where THuawei : ILocalCellQuery
            where TView : class, IENodebName, ILteCellQuery, new()
        {
            var eNodebs = townRepository.QueryENodebs(eNodebRepository, city, district);

            if (!eNodebs.Any())
            {
                return(new List <TView>());
            }

            var zteViews    = eNodebs.QueryZteViews <TView, TZte>(zteStats);
            var huaweiViews = eNodebs.QueryHuaweiViews <TView, THuawei>(huaweiStats, huaweiCellRepository);

            return(zteViews.Concat(huaweiViews).ToList());
        }
Ejemplo n.º 4
0
        public static IEnumerable <TView> QueryDistrictKpiViews <TView, TZte, THuawei>(this IENodebRepository eNodebRepository,
                                                                                       string city, string district, List <TZte> zteStats, List <THuawei> huaweiStats,
                                                                                       ITownRepository townRepository)
            where TZte : ILteCellQuery
            where THuawei : ILteCellQuery
            where TView : class, IENodebName, ILteCellQuery, new()
        {
            var eNodebs = townRepository.QueryENodebs(eNodebRepository, city, district);

            if (!eNodebs.Any())
            {
                throw new OutOfMemoryException("abc");
            }

            var zteViews    = eNodebs.QueryZteViews <TView, TZte>(zteStats);
            var huaweiViews = eNodebs.QueryZteViews <TView, THuawei>(huaweiStats);

            return(zteViews.Concat(huaweiViews).ToList());
        }