Beispiel #1
0
        public async Task <PlacesSearch> GetVotePlaces(string searchString)
        {
            var places = _votePlaceModelService.GetVotePlaceModels();
            IQueryable <int> places_id;

            if (searchString == null)
            {
                places_id = (from VP in places select VP.Id);
            }
            else
            {
                places_id =
                    from VP in places
                    where
                    VP.Region.Contains($"{searchString}") ||
                    VP.Town.Contains($"{searchString}") ||
                    VP.Street.Contains($"{searchString}") ||
                    VP.House.Contains($"{searchString}")
                    select VP.Id;
            }
            var totalPlaces = await places_id.CountAsync();

            return(new PlacesSearch()
            {
                PlacesId = places_id.ToList(), Total = totalPlaces
            });
        }
Beispiel #2
0
        public SelectList GetVotePlacesForSelect(string field, string text = null)
        {
            IQueryable <VotePlaceModel> places_raw = _votePlaceModelService.GetVotePlaceModels();
            SelectList places = new SelectList(places_raw);

            if (text == null)
            {
                places = new SelectList(places_raw.ToList(), "Id", field, places_raw.First().Id);
            }
            else
            {
                switch (field)
                {
                case "Region":
                    places_raw = places_raw.Where(place => place.Region == text);
                    places     = new SelectList(places_raw.ToList(), "Id", "Town", places_raw.First().Id);
                    break;

                case "Town":
                    places_raw = places_raw.Where(place => place.Town == text);
                    places     = new SelectList(places_raw.ToList(), "Id", "Street", places_raw.First().Id);
                    break;

                case "Street":
                    places_raw = places_raw.Where(place => place.Street == text);
                    places     = new SelectList(places_raw.ToList(), "Id", "House", places_raw.First().Id);
                    break;

                case "House":
                    places_raw = places_raw.Where(place => place.House == text);
                    places     = new SelectList(places_raw.ToList(), "Id", "House", places_raw.First().Id);
                    break;

                default:
                    break;
                }
            }

            var placesNoDuplicates = places.ToList();

            foreach (var place in placesNoDuplicates)
            {
                if (placesNoDuplicates.Where(p => p.Text == place.Text).Count() > 1)
                {
                    place.Text = "";
                }
            }
            places = new SelectList(placesNoDuplicates.Where(p => p.Text != "").ToList(), "Value", "Text");

            return(places);
        }
Beispiel #3
0
        public ActionResult Places()
        {
            var places = _votePlaceModelService.GetVotePlaceModels();

            return(View(places.ToList()));
        }