Пример #1
0
        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()
            }));
        }
Пример #2
0
        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()
            }));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }
Пример #5
0
        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));
        }
Пример #6
0
        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));
        }
Пример #7
0
        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));
        }
Пример #8
0
        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));
        }
Пример #9
0
        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()
            }));
        }
Пример #10
0
        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()
            }));
        }
Пример #11
0
        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));
        }
Пример #12
0
        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()
            }));
        }
Пример #13
0
        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));
        }
Пример #14
0
        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()
                }));
            }
        }