public IEnumerable <TerrainOverviewItemViewModel> GetTerrainsForSearch(TerrainSearchViewModel terrainSearch)
        {
            using CampFinderDbContext context = dbContextFactory.CreateDbContext();
            IQueryable <Terrain> terrains = context.Terrains
                                            .Include(t => t.Reviews)
                                            .Include(t => t.Place);

            if (terrainSearch != null)
            {
                terrains = GetSearch(terrains, terrainSearch);

                if (terrainSearch.Toilets)
                {
                    terrains = terrains.Where(t => t.Toilets);
                }
                if (terrainSearch.Water)
                {
                    terrains = terrains.Where(t => t.Water);
                }
                if (terrainSearch.Electricity)
                {
                    terrains = terrains.Where(t => t.Electricity);
                }
            }
            return(terrains.Select(t => mapper.Map <TerrainOverviewItemViewModel>(t)).ToList());
        }
Beispiel #2
0
 public IActionResult GetTerrainSearch([FromQuery] TerrainSearchViewModel terrainSearch)
 {
     return(Ok(manager.GetTerrainsForSearch(terrainSearch)));
 }