public ActionResult Index()
        {
            string user = User.Identity.GetUserId();
            var tournaments = new TournamentsContext();
            List<TournamentWithUserInfo> listOfTournaments =
                tournaments.Database.SqlQuery<TournamentWithUserInfo>("TournamentsWithUserInfo @User", new SqlParameter("User", (user != null) ? user : "")).ToList();
            //List<Tournament> listOfTournaments = tournaments.Tournament.ToList();

            ViewBag.Signed = User.Identity.GetUserId();

            return View(listOfTournaments);
        }
        public ActionResult MyTournaments()
        {
            var CurrentUserId = User.Identity.GetUserId();
            var tournamentContext = new TournamentsContext();
            List<Tournament> organizedTournaments = tournamentContext.Tournament.Where(t => t.OrganizerId == CurrentUserId).ToList();

            var registrationContext = new RegistrationContext();
            var registredTo = registrationContext.Registration.Where(r => r.UserId == CurrentUserId).ToList();
            var participateTournaments = new List<Tournament>();
            foreach (var reg in registredTo)
            {
                var tourn = tournamentContext.Tournament.Single(t => t.Id == reg.TournamentId);
                participateTournaments.Add(tourn);
            }

            ViewBag.CountOrg = organizedTournaments.Count();
            ViewBag.CountPart = participateTournaments.Count();

            var tuple = new Tuple<List<Tournament>, List<Tournament>>(organizedTournaments, participateTournaments);

            return View(tuple);
        }
        private Tournament ForDetails(string currentUser, int tournamentId)
        {
            var tournamentsContext = new TournamentsContext();
            var tournament = tournamentsContext.Tournament.Single(t => t.Id == tournamentId);
            ViewBag.tournamentId = tournament.Id;

            var groupsContext = new GroupsContext();
            var tournamentGroups = groupsContext.Groups.Where(g => g.IdTournament == tournament.Id).ToList();
            ViewBag.Groups = tournamentGroups;

            List<GroupWithUsers> allUsersInTournament = AllUsersInTournament(tournament.Id, tournamentGroups);
            allUsersInTournament.Sort();
            ViewBag.AllUsersInTournament = allUsersInTournament;

            SelectList selectList = new SelectList(GetItemsForDropDownList(tournamentGroups), "Value", "Text");
            ViewBag.SelectList = selectList;

            ViewBag.InTournament = CurrentUserInTournament(tournament.Id, currentUser);

            ViewBag.Paid = DidPay(tournamentId, currentUser);

            ViewBag.IsAdmin = (currentUser == tournament.OrganizerId) ? true : false;

            return tournament;
        }
        public ActionResult Create(Tournament tournament)
        {
            try
            {
                tournament.OrganizerId = User.Identity.GetUserId();

                var tournamentContext = new TournamentsContext();

                tournamentContext.Tournament.Add(tournament);
                tournamentContext.SaveChanges();

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }