Exemplo n.º 1
0
        /// <summary>
        /// Filters Pagasts list
        /// </summary>
        public IEnumerable <Pagasts> FilterPagastsList(int novadsId, FilterParameters filterParams)
        {
            Novads givenNovads = _repository.GetAllNovadsLoadedReadOnly()
                                 .FirstOrDefault(novads => novads.Id == novadsId);

            if (givenNovads == null)
            {
                throw new InvalidOperationException("Must pass novadsId.");
            }

            List <Func <Polygon1km, bool> > predicates = this.GetFiltrationPredicates(filterParams);
            List <Pagasts> pagastsList = givenNovads.PagastsList;

            foreach (var pagasts in pagastsList)
            {
                pagasts.Polygon1kmList = this.ApplyFiltersOnPolygonList(predicates, pagasts.Polygon1kmList);
            }

            return(pagastsList.Where(pagasts => pagasts.Polygon1kmList.Count > 0).ToList());
        }
Exemplo n.º 2
0
        /// <summary>
        /// Filters Polygons lists
        /// </summary>
        public IEnumerable <Polygon1km> FilterPolygonList(int novadsId, int pagastsId, FilterParameters filterParams)
        {
            Novads givenNovads = _repository.GetAllNovadsLoadedReadOnly()
                                 .FirstOrDefault(novads => novads.Id == novadsId);

            if (givenNovads == null)
            {
                throw new InvalidOperationException("Must pass novadsId.");
            }

            Pagasts givenPagasts = givenNovads.PagastsList.FirstOrDefault(pagasts => pagasts.Id == pagastsId);

            if (givenPagasts == null)
            {
                throw new InvalidOperationException("Must pass pagastsId.");
            }

            List <Polygon1km> polygons = givenPagasts.Polygon1kmList;

            List <Func <Polygon1km, bool> > predicates = this.GetFiltrationPredicates(filterParams);

            return(this.ApplyFiltersOnPolygonList(predicates, polygons));
        }