public MapDetailsViewModel GetMapDetailsViewModel(MapFilter filter) { var startDate = DateTime.Parse(filter.StartDate); var endDate = DateTime.Parse(filter.EndDate); var city = _core.GetCityFilter(filter.City); if (city == null) { return(null); } var spotIds = _core.GetEventSpots(city, startDate, endDate); var addresses = _core.GetAddressesFromSpots(spotIds); var geolocations = _core.GetGeoLocations(addresses); var centerGeolocation = _core.GetGeoLocation(city); return(new MapDetailsViewModel { Geolocations = geolocations, CenterPosition = centerGeolocation }); }