Esempio n. 1
0
        public ActionResult Index(int? season, int? category, int? region, string seasonName, string categoryName, string regionName)
        {
            var s = new Service.PouleService();

            PoulesViewModel model = new PoulesViewModel();

            if ( season == null || category == null || region == null )
            {
                season = -1;
                category = -1;
                region = -1;

                var seasonCookie = Request.Cookies.Get("season");
                var categoryCookie = Request.Cookies.Get("category");
                var regionCookie = Request.Cookies.Get("region");

                if (seasonCookie != null) season = Int32.Parse(seasonCookie.Value);
                if (categoryCookie != null) category = Int32.Parse(categoryCookie.Value);
                if (regionCookie != null) region = Int32.Parse(regionCookie.Value);
            }
            
            model.seasons = s.GetSeasonsSelect();

            if (model.seasons.Where(c => c.Value == season.ToString()).Count() == 0)
                season = Int32.Parse(model.seasons[0].Value);

            model.categories = s.GetCategorySelect((int)season);
            
            if (model.categories.Where(c => c.Value == category.ToString()).Count() == 0)
                category = Int32.Parse(model.categories[0].Value);
            
            model.regions = s.GetRegionSelect((int)season, (int)category);

            if (model.regions.Where(c => c.Value == region.ToString()).Count() == 0)
                region = Int32.Parse(model.regions[0].Value);

            model.poules = s.GetPoules( (int)season, (int)category, (int)region);

            model.seasons.Where(c => c.Value == season.ToString()).First().Selected = true;
            model.categories.Where(c => c.Value == category.ToString()).First().Selected = true;
            model.regions.Where(c => c.Value == region.ToString()).First().Selected = true;


            model.name = model.seasons.Where(c => c.Value == season.ToString()).Single().Text + " - " +
                         model.categories.Where(c => c.Value == category.ToString()).Single().Text + " - " +
                         model.regions.Where(c => c.Value == region.ToString()).Single().Text;

            
            string sortField = Request.QueryString["SorteerOp"];
            string sortDir = Request.QueryString["Richting"];

            if (!String.IsNullOrEmpty(sortField))
            {
                if (String.IsNullOrEmpty(sortDir))
                    sortDir = "Oplopend";

                switch (sortField)
                {
                    case "Klasse":
                        if (sortDir.Equals("Oplopend")) model.poules = model.poules.OrderBy(m => m.classLevel).ThenBy(m => m.pouleName).ToList();
                        else model.poules = model.poules.OrderByDescending(m => m.classLevel).ThenByDescending(m => m.pouleName).ToList();
                        break;

                    case "Sterkte":
                        if (sortDir.Equals("Oplopend")) model.poules = model.poules.OrderBy(m => m.strength).ToList();
                        else model.poules = model.poules.OrderByDescending(m => m.strength).ToList();
                        break;
                }
            }

            Response.Cookies.Remove("season");
            Response.Cookies.Remove("category");
            Response.Cookies.Remove("region");

            Response.Cookies.Add(new HttpCookie("season", season.ToString()));
            Response.Cookies.Add(new HttpCookie("category", category.ToString()));
            Response.Cookies.Add(new HttpCookie("region", region.ToString()));

            return View(model);
        }