public async Task<ActionResult> GetFavoritesViewModel(string location, string stops)
{
LatLong? userLocation;
List<int> parsedStopIds;
try
{
userLocation = ParseUserLocation(location);
parsedStopIds = ParseStopIds(stops);
}
catch (FormatException)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
if (userLocation == null && (parsedStopIds == null || parsedStopIds.Count == 0))
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
try
{
var viewModel = await TransitManager.GetFavoritesViewModel(_repository, _client, _getCurrentTime(), parsedStopIds, userLocation);
var viewModelJson = JsonConvert.SerializeObject(viewModel);
return Content(viewModelJson, "application/json");
}
catch
{
return new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
}
}