public ActionResult Index(string menu = "guesses") { if (!System.Web.HttpContext.Current.User.Identity.IsAuthenticated) { return(Redirect("~/Account/Login")); } //ApplicationUser user = DatabaseManager.GetUserById(User.Identity.GetUserId()); ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId()); //System.Web.HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>().AddToRole(user.Id, "Administrator"); ViewBag.User = user; ViewBag.menu = menu; //DatabaseManager.AddUserToGuessGame(user.Id,1); IndexModel model = new IndexModel(); List <TeamModel> teams; List <MatchModel> matches; matches = DatabaseManager.GetAllMatches().Select(m => ModelHelper.CreateMatchModel(m)).ToList(); model.Matches = matches; switch (menu) { case "guesses": model.Guesses = user.Guesses.ToList().Select(g => ModelHelper.CreateGuessModel(g)).ToList(); break; case "teams": break; case "games": teams = new List <TeamModel>(); IEnumerable <ApplicationUser> users = DatabaseManager.GetUsersByGuessGame(1); model.UsersWithGuessesAndStats = new List <IndexModel.UserGuesses>(); foreach (var u in users) { IndexModel.UserGuesses ug = new IndexModel.UserGuesses(); ug.User = ModelHelper.CreateUserModel(u); ug.Guesses = u.Guesses.Select(g => ModelHelper.CreateGuessModel(g)); ModelHelper.Wrapper wrapper = ModelHelper.GetPlayerStatsFromGuesses(ug.Guesses, model.Matches); ug.PlayerStats = wrapper.PlayerStatModel; ug.PlayerStatsBefore = wrapper.PlayerStatModelBefore; //ug.PlayerMatchesWithGuesses = wrapper.PlayerMatchesWithGuesses; model.UsersWithGuessesAndStats.Add(ug); } break; default: teams = new List <TeamModel>(); break; } teams = DatabaseManager.GetAllTeam().Select(t => ModelHelper.CreateTeamModel(t)).ToList(); model.ATeams = ModelHelper.CreateGorupTable(teams.Where(t => t.Group == "A").ToList(), matches); model.BTeams = ModelHelper.CreateGorupTable(teams.Where(t => t.Group == "B").ToList(), matches); model.CTeams = ModelHelper.CreateGorupTable(teams.Where(t => t.Group == "C").ToList(), matches); model.DTeams = ModelHelper.CreateGorupTable(teams.Where(t => t.Group == "D").ToList(), matches); model.ETeams = ModelHelper.CreateGorupTable(teams.Where(t => t.Group == "E").ToList(), matches); model.FTeams = ModelHelper.CreateGorupTable(teams.Where(t => t.Group == "F").ToList(), matches); return(View(model)); }
public ActionResult GuessStatistic(string userId, string userName, ModelHelper.GuessType type) { GuessStatistic model = new GuessStatistic(); model.UserName = userName; List <Guess> guesses = DatabaseManager.GetUserById(userId).Guesses.ToList(); List <Match> matches = DatabaseManager.GetAllMatches(); List <GuessModel> guessesModel = guesses.Select(g => ModelHelper.CreateGuessModel(g)).ToList(); List <MatchModel> matchesModel = matches.Select(m => ModelHelper.CreateMatchModel(m)).ToList(); ModelHelper.Wrapper wrapper = ModelHelper.GetPlayerStatsFromGuesses(guessesModel, matchesModel); switch (type) { case ModelHelper.GuessType.TT: model.Stats = ModelHelper.GetStatHelpersFromPlayerMatchesWithGuesses(guesses, matches, wrapper.PlayerMatchesWithGuesses.TTGuessesByMatch); model.Type = "TT"; break; case ModelHelper.GuessType.MKCSG: model.Stats = ModelHelper.GetStatHelpersFromPlayerMatchesWithGuesses(guesses, matches, wrapper.PlayerMatchesWithGuesses.MKCSGGuessesByMatch); model.Type = "MK + CSG"; break; case ModelHelper.GuessType.MKGK: model.Stats = ModelHelper.GetStatHelpersFromPlayerMatchesWithGuesses(guesses, matches, wrapper.PlayerMatchesWithGuesses.MKGKGuessesByMatch); model.Type = "MK + GK"; break; case ModelHelper.GuessType.MKGKD: model.Stats = ModelHelper.GetStatHelpersFromPlayerMatchesWithGuesses(guesses, matches, wrapper.PlayerMatchesWithGuesses.MKGKDRAWGuessesByMatch); model.Type = "MK + GK (D)"; break; case ModelHelper.GuessType.MKOG: model.Stats = ModelHelper.GetStatHelpersFromPlayerMatchesWithGuesses(guesses, matches, wrapper.PlayerMatchesWithGuesses.MKOGGuessesByMatch); model.Type = "MK + OG"; break; case ModelHelper.GuessType.MK: model.Stats = ModelHelper.GetStatHelpersFromPlayerMatchesWithGuesses(guesses, matches, wrapper.PlayerMatchesWithGuesses.MKGuessesByMatch); model.Type = "MK"; break; case ModelHelper.GuessType.CSG: model.Stats = ModelHelper.GetStatHelpersFromPlayerMatchesWithGuesses(guesses, matches, wrapper.PlayerMatchesWithGuesses.CSGGuessesByMatch); model.Type = "CSG"; break; case ModelHelper.GuessType.OG: model.Stats = ModelHelper.GetStatHelpersFromPlayerMatchesWithGuesses(guesses, matches, wrapper.PlayerMatchesWithGuesses.OGGuessesByMatch); model.Type = "OG"; break; case ModelHelper.GuessType.NONE: model.Stats = ModelHelper.GetStatHelpersFromPlayerMatchesWithGuesses(guesses, matches, wrapper.PlayerMatchesWithGuesses.NONEGuessesByMatch); model.Type = "XX"; break; default: break; } return(PartialView("_GuessStatistic", model)); }