public RedirectToActionResult Add(CountryViewModel model) { model.Country = context.Countries .Include(t => t.Game) .Include(t => t.Category) .Where(t => t.CountryID == model.Country.CountryID) .FirstOrDefault(); var session = new OlympicSession(HttpContext.Session); var countries = session.GetMyCountries(); countries.Add(model.Country); session.SetMyCountries(countries); var cookies = new OlympicCookies(Response.Cookies); cookies.SetMyCountryIds(countries); TempData["message"] = $"{model.Country.Name} added to your favorites"; return(RedirectToAction("Index", new { ActiveGame = session.GetActiveGame(), ActiveCategory = session.GetActiveCategory() })); }
public RedirectToActionResult Add(OlympicViewModel model) { model.Country = context.Countries .Include(t => t.Game) .Include(t => t.Sport) .Where(t => t.CountryID == model.Country.CountryID) .FirstOrDefault(); var session = new OlympicSession(HttpContext.Session); var countries = session.GetMyCountries(); countries.Add(model.Country); session.SetMyCountries(countries); /*creates new OlympicCookies object with the controller's response object. * calls SetMyCountryIds and passes updated list of Country objects. */ var cookies = new OlympicCookies(Response.Cookies); cookies.SetMyCountryIds(countries); TempData["message"] = $"{model.Country.CountryName} added to your favorites"; //message return(RedirectToAction("Index", //redirection new { ActiveGame = session.GetActiveGame(), ActiveSport = session.GetActiveSport() })); }
public ViewResult Index() { var session = new OlympicSession(HttpContext.Session); var model = new CountryListViewModel { ActiveGame = session.GetActiveGame(), ActiveCategory = session.GetActiveCategory(), Countries = session.GetMyFavs() }; return(View(model)); }
public IActionResult Index() { var session = new OlympicSession(HttpContext.Session); var model = new OlympicListViewModel { ActiveGame = session.GetActiveGame(), ActiveSport = session.GetActiveSport(), Countries = session.GetMyCountries() }; return(View(model)); }
public ViewResult Index(CountryListViewModel model) { model.Sports = context.Sports.ToList(); model.Games = context.Games.ToList(); //New changes-pg.339. Updates for Chapter 9 for session states var session = new OlympicSession(HttpContext.Session); session.SetActiveGame(model.ActiveGame); session.SetActiveSport(model.ActiveSport); int?count = session.GetMyCountryCount(); if (count == null) { var cookies = new OlympicCookies(HttpContext.Request.Cookies); string[] ids = cookies.GetMyCountryIds(); List <Country> mycountries = new List <Country>(); if (ids.Length > 0) { mycountries = context.Countries.Include(c => c.Game) .Include(c => c.Sport) .Where(c => ids.Contains(c.CountryID)).ToList(); } session.SetMyCountries(mycountries); } //var data = new CountryListViewModel //{ // ActiveGame = activeGame, // ActiveSport = activeSport, // Games = context.Games.ToList(), // Sports = context.Sports.ToList() //}; IQueryable <Country> query = context.Countries; if (model.ActiveGame != "all") { query = query.Where( c => c.Game.GameID.ToLower() == model.ActiveGame.ToLower()); } if (model.ActiveSport != "all") { query = query.Where(c => c.Sport.SportID.ToLower() == model.ActiveSport.ToLower()); } model.Countries = query.ToList(); return(View(model)); }
public IActionResult Index(CountryListViewModel model) { model.Categories = context.Categories.ToList(); model.Games = context.Games.ToList(); model.Sports = context.Sports.ToList(); var session = new OlympicSession(HttpContext.Session); session.SetActiveGame(model.ActiveGame); session.SetActiveCatg(model.ActiveCatg); session.SetActiveSport(model.ActiveSport); int?count = session.GetMyCountryCount(); if (count == null) { var cookies = new OlympicCookies(Request.Cookies); string[] ids = cookies.GetMyCountryIds(); List <Country> mycountries = new List <Country>(); if (ids.Length > 0) { mycountries = context.Countries.Include(t => t.Game) .Include(t => t.Category) .Include(t => t.Sport) .Where(t => ids.Contains(t.CountryID)).ToList(); } session.SetMyCountries(mycountries); } IQueryable <Country> query = context.Countries; if (model.ActiveGame != "all") { query = query.Where( t => t.Game.GameID.ToLower() == model.ActiveGame.ToLower()); } if (model.ActiveCatg != "all") { query = query.Where( t => t.Category.CategoryID.ToLower() == model.ActiveCatg.ToLower()); } if (model.ActiveSport != "all") { query = query.Where( t => t.Sport.SportID.ToLower() == model.ActiveSport.ToLower()); } model.Countries = query.ToList(); return(View(model)); }
public ViewResult Index(CountryListViewModel model) { List <Country> Countries = context.Countries.OrderBy(c => c.Name).ToList(); List <string> games = new List <string>(); List <string> categories = new List <string>(); // Make a collection of all games and catgories in use foreach (Country country in Countries) { // Dynamically collect all possible games if (!games.Contains(country.Game)) { games.Add(country.Game); } // Dynamically collect all possible categories if (!categories.Contains(country.Category)) { categories.Add(country.Category); } } var session = new OlympicSession(HttpContext.Session); // If no count in session, get cookie and restore favorite teams in session int?count = session.GetMyCountriesCount(); if (count == null) { var cookies = new FavoriteCookies(Request.Cookies); string[] ids = cookies.GetMyFavorites(); List <Country> mycountries = new List <Country>(); if (ids.Length > 0) { foreach (string id in ids) { mycountries.Add(context.Countries.Where(c => c.Name == id).FirstOrDefault()); } } session.SetMyFavs(mycountries); } model.Countries = Countries; model.Games = games; model.Categories = categories; model.ActiveGame = RouteData.Values?["ActiveGame"]?.ToString(); model.ActiveCategory = RouteData.Values?["ActiveCategory"]?.ToString(); return(View(model)); }
public ViewResult Details(string id) { var session = new OlympicSession(HttpContext.Session); var model = new OlympicViewModel { Country = context.Countries .Include(t => t.Game) .Include(t => t.Sport) .FirstOrDefault(t => t.CountryID == id), ActiveSport = session.GetActiveGame(), ActiveGame = session.GetActiveSport() }; return(View(model)); }
public RedirectToActionResult Delete() { var session = new OlympicSession(HttpContext.Session); session.RemoveMyCountries(); TempData["message"] = "Favorite countries cleared"; return(RedirectToAction("Index", "Country", new { ActiveGame = session.GetActiveGame(), ActiveCat = session.GetActiveCat() })); }
public RedirectToActionResult Delete() { var session = new OlympicSession(HttpContext.Session); var cookies = new FavoriteCookies(Response.Cookies); session.RemoveMyFavs(); cookies.RemoveMyTeamIds(); TempData["message"] = "Favorites cleared"; return(RedirectToAction("Index", "Home", new { game = session.GetActiveGame(), category = session.GetActiveCategory() })); }
public ViewResult Details(int id) { var session = new OlympicSession(HttpContext.Session); CountryViewModel model = new CountryViewModel(); var country = context.Countries.Where(c => c.CountryID == id).FirstOrDefault(); model.Name = country.Name; model.Abbr = country.Abbr; model.Game = country.Game; model.Sport = country.Sport; model.Category = country.Category; model.ActiveGame = session.GetActiveGame(); model.ActiveCategory = session.GetActiveCategory(); return(View(model)); }
public RedirectToActionResult Delete() { var session = new OlympicSession(HttpContext.Session); var cookies = new OlympicCookies(Response.Cookies); session.RemoveMyCountries(); cookies.RemoveMyCountryIds(); TempData["message"] = "Favorite countries cleared"; return(RedirectToAction("Index", "Home", new { ActiveGame = session.GetActiveGame(), ActiveSport = session.GetActiveSport() })); }
public ViewResult Details(string id) { var session = new OlympicSession(HttpContext.Session); var model = new CountryViewModel { Country = context.Countries .Include(c => c.Game) .Include(c => c.Sport) .FirstOrDefault(c => c.CountryID == id), //ActiveSport = TempData.Peek("ActiveSport").ToString() , //ActiveGame = TempData.Peek("ActiveGame").ToString() ActiveSport = session.GetActiveSport(), ActiveGame = session.GetActiveGame() }; return(View(model)); }
public RedirectToActionResult Add(CountryViewModel model) { var country = context.Countries.Where(c => c.CountryID == model.CountryID).FirstOrDefault(); model.Name = country.Name; model.Abbr = country.Abbr; model.Game = country.Game; model.Sport = country.Sport; model.Category = country.Category; var session = new OlympicSession(HttpContext.Session); if (ModelState.IsValid) { var favs = session.GetMyFavs(); favs.Add(country); session.SetMyFavs(favs); var cookies = new FavoriteCookies(Response.Cookies); cookies.SetFavoriteIds(favs); TempData["message"] = $"{country.Name} added to favorites"; return(RedirectToAction("Index", new { ActiveGame = session.GetActiveGame(), ActiveCategory = session.GetActiveCategory() })); } else { TempData["message"] = $"There was an error adding {country.Name} to favorites"; return(RedirectToAction("Index", new { ActiveGame = session.GetActiveGame(), ActiveCategory = session.GetActiveCategory() })); } }