Exemplo n.º 1
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()
            }));
        }
Exemplo n.º 2
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()
            }));
        }
Exemplo n.º 3
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));
        }
Exemplo n.º 4
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));
        }
Exemplo n.º 5
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()
            }));
        }