public ActionResult SearchByLocation(float latitude, float longitude) { var dinners = dinnerReadModel.FindDinnerByLocation(latitude, longitude); var jsonDinners = from dinner in dinners.AsEnumerable() select JsonDinnerFromDinner(dinner); return(Json(jsonDinners.ToList())); }
public ActionResult Flair([DefaultValue("html")] string format) { string SourceIP = string.IsNullOrEmpty(Request.ServerVariables["HTTP_X_FORWARDED_FOR"]) ? Request.ServerVariables["REMOTE_ADDR"] : Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; var location = GeolocationService.HostIpToPlaceName(SourceIP); var dinners = dinnerReadModel. FindDinnerByLocation(location.Position.Lat, location.Position.Long). OrderByDescending(p => p.EventDate).Take(3); // Select the view we'll return. Using a switch because we'll add in JSON and other formats later. // Will probably extract or refactor this. string view; switch (format.ToLower()) { case "javascript": view = "JavascriptFlair"; break; default: view = "Flair"; break; } return(View( view, new FlairViewModel { Dinners = dinners.ToList(), LocationName = string.IsNullOrEmpty(location.City) ? "you" : String.Format("{0}, {1}", location.City, location.RegionName) } )); }