public JsonResult GetMenuItems(string country) { var restaurantKit = new RestaurantKit(); var reader = restaurantKit.GetMenuReader(country); var menuItems = reader.Read(Server.MapPath("~/Content/FoodItemData")); var menuGenerator = restaurantKit.GetMenuGenerator(reader, menuItems); List<MenuItem> filteredMenuItems = new List<MenuItem>(); filteredMenuItems.AddRange( menuGenerator.GetAllDayItems().Union( menuGenerator.GetDinerItems().Union( menuGenerator.GetEveningOnlyItems()))); return Json(filteredMenuItems, JsonRequestBehavior.AllowGet); }
public FileResult Download(string restaurantType, string downloadType, string country) { var restaurantKit = new RestaurantKit(); var reader = restaurantKit.GetMenuReader(country); var menuItems = reader.Read(Server.MapPath("~/Content/FoodItemData")); var menuGenerator = restaurantKit.GetMenuGenerator(reader, menuItems); var filteredMenuItems = GetItemsByRestaurantType(menuGenerator, restaurantType); var formatter = restaurantKit.GetMenuFormatter(downloadType); var bytes = formatter.GetDownloadBytes(filteredMenuItems); Response.ContentType = GetContentType(downloadType); Response.AddHeader("Content-disposition", "attachment;filename=" + country + " " + restaurantType + "." + GetFileExtension(downloadType)); Response.OutputStream.Write(bytes, 0, bytes.Length); Response.Flush(); Response.End(); return File(Response.OutputStream, MediaTypeNames.Application.Octet); }