예제 #1
0
        public void CreateLeague(string name, string type, int userid)
        {
            using (var db = new MyLeaguesEntities())
            {
                League l = new League();
                l.LeagueName  = name;
                l.LeagueType  = type;
                l.CreatedOn   = DateTime.Now;
                l.IsDeleted   = false;
                l.MemberCount = 1;
                db.Leagues.Add(l);
                db.SaveChanges();

                UserLeague ul = new UserLeague();
                ul.UserID        = userid;
                ul.PointsAllowed = 0;
                ul.PointsScored  = 0;
                ul.Wins          = 0;
                ul.Losses        = 0;
                ul.LeagueID      = l.ID;
                ul.IsDeleted     = false;
                ul.CreatedOn     = DateTime.Now;
                db.UserLeagues.Add(ul);
                db.SaveChanges();
            }
        }
        public async Task <IActionResult> PutUserLeague([FromRoute] int id, [FromBody] UserLeague userLeague)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != userLeague.UserLeagueID)
            {
                return(BadRequest());
            }

            _context.Entry(userLeague).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UserLeagueExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #3
0
        // GET: UserLeagues/Create
        public ActionResult Create(int id)
        {
            var league = _db.Leagues.Find(id);

            if (league == null)
            {
                return(HttpNotFound());
            }
            ViewBag.LeagueName = league.LeagueName;
            var list = _db.Users.Where(x => x.Roles != "Mailer" && x.Roles != "Admin").ToList();

            foreach (var userLeague in _db.UserLeagues.Where(x => x.LeagueId == id))
            {
                if (list.Any(x => x.id == userLeague.UserId))
                {
                    list.RemoveAll(x => x.id == userLeague.UserId);
                }
            }
            ViewBag.UserId = new SelectList(list, "id", "username");
            var userleague = new UserLeague()
            {
                LeagueId = id
            };

            return(View(userleague));
        }
예제 #4
0
        public ActionResult Edit([Bind(Include = "id,UserId,LeagueId,Roles,rowversion")] UserLeague userLeague)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _db.Entry(userLeague).State = EntityState.Modified;
                    _db.SaveChanges();
                    return(RedirectToAction("Index", new { id = userLeague.LeagueId }));
                }
            }
            catch (DbUpdateConcurrencyException ex)
            {
                var entry         = ex.Entries.Single();
                var clientValues  = (UserLeague)entry.Entity;
                var databaseEntry = entry.GetDatabaseValues();
                if (databaseEntry == null)
                {
                    ModelState.AddModelError(string.Empty,
                                             "Unable to save changes. The member was deleted by another user.");
                }
                else
                {
                    var databaseValues = (UserLeague)databaseEntry.ToObject();

                    if (databaseValues.UserId != clientValues.UserId)
                    {
                        ModelState.AddModelError("User", "Current value: "
                                                 + databaseValues.User.username);
                    }
                    if (databaseValues.LeagueId != clientValues.LeagueId)
                    {
                        ModelState.AddModelError("League", "Current value: "
                                                 + databaseValues.League.LeagueName);
                    }
                    if (databaseValues.Roles != clientValues.Roles)
                    {
                        ModelState.AddModelError("Roles", "Current value: "
                                                 + databaseValues.Roles);
                    }


                    ModelState.AddModelError(string.Empty, "The record you attempted to edit "
                                             + "was modified by another user after you got the original value. The "
                                             + "edit operation was canceled and the current values in the database "
                                             + "have been displayed. If you still want to edit this record, click "
                                             + "the Save button again. Otherwise click the Back to List hyperlink.");
                    userLeague.rowversion = databaseValues.rowversion;
                }
            }
            catch (Exception dex)
            {
                //Log the error (uncomment dex variable name and add a line here to write a log.)
                ModelState.AddModelError("",
                                         "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
                ErrorSignal.FromCurrentContext().Raise(dex);
            }
            return(View(userLeague));
        }
예제 #5
0
        public async Task <bool> SetActiveLeague([FromBody] UserLeague league)
        {
            var status = await _lrepo.UpdateAsync(ApiHelper.LeagueApiSetActivePath, league);

            if (status)
            {
                return(true);
            }
            return(false);
        }
        public async Task <IActionResult> PostUserLeague([FromBody] LeagueUserViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //HttpContext.User
            var userId  = _caller.Claims.Single(c => c.Type == "id");
            var appuser = await _context.AppUser.Include(c => c.IdentityUser).SingleAsync(c => c.IdentityUser.Id == userId.Value);

            bool       exists      = false;
            var        checkLeague = _context.UserLeagues.ToList();
            var        league      = _context.Leagues.ToList();
            UserLeague userLeague  = new UserLeague();
            Team       userTeam    = new Team();

            userTeam.TeamName = model.teamName;

            userLeague.LeagueForeignKey  = model.leagueId;
            userLeague.AppUserForeignKey = appuser.Id;

            foreach (UserLeague CL in checkLeague)
            {
                if (CL.LeagueForeignKey == userLeague.LeagueForeignKey && CL.AppUserForeignKey == userLeague.AppUserForeignKey)
                {
                    exists = true;
                }
            }

            if (exists == false)
            {
                foreach (League L in league)
                {
                    if (userLeague.LeagueForeignKey == L.LeagueId)
                    {
                        L.userCount            += 1;
                        _context.Entry(L).State = EntityState.Modified;
                    }
                }
                var team = _context.Teams.Add(userTeam).Entity;

                userLeague.Team           = team;
                userLeague.TeamForeignKey = team.TeamID;
                _context.UserLeagues.Add(userLeague);
                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetUserLeague", new { id = userLeague.UserLeagueID }, userLeague));
            }
            else
            {
                return(BadRequest("User Already in League"));
            }
        }
        public IHttpActionResult GetUserLeague(int id)
        {
            UserLeague userLeague = db.UserLeagues.Find(id);

            if (userLeague == null)
            {
                return(NotFound());
            }

            return(Ok(userLeague));
        }
        public bool SetActiveLeague(UserLeague league)
        {
            var inactiveLeagues = _db.UserLeague.Where(x => x.UserId == league.UserId && x.LeagueId != league.LeagueId).ToList();

            inactiveLeagues.ForEach(a => a.ActiveFlag = false);
            _db.SaveChanges();

            league.ActiveFlag = true;
            _db.UserLeague.Update(league);

            return(Save());
        }
        public IHttpActionResult PostUserLeague(UserLeague userLeague)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.UserLeagues.Add(userLeague);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = userLeague.ID }, userLeague));
        }
        public IHttpActionResult DeleteUserLeague(int id)
        {
            UserLeague userLeague = db.UserLeagues.Find(id);

            if (userLeague == null)
            {
                return(NotFound());
            }

            userLeague.IsDeleted = true;
            db.SaveChanges();

            return(Ok(userLeague));
        }
예제 #11
0
        // GET: UserLeagues/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserLeague userLeague = _db.UserLeagues.Find(id);

            if (userLeague == null)
            {
                return(HttpNotFound());
            }
            ViewBag.LeagueName = userLeague.League.LeagueName;
            return(View(userLeague));
        }
예제 #12
0
        public ActionResult Create([Bind(Include = "id,UserId,LeagueId,Roles,rowversion")] UserLeague userLeague)
        {
            if (ModelState.IsValid)
            {
                _db.UserLeagues.Add(userLeague);
                try
                {
                    _db.SaveChanges();
                    return(RedirectToAction("Index", new { id = userLeague.LeagueId }));
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateException e)
                {
                    ErrorSignal.FromCurrentContext().Raise(e);
                    Exception ex = e;
                    while (ex.InnerException != null)
                    {
                        ex = ex.InnerException;
                    }
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
                catch (Exception e)
                {
                    ErrorSignal.FromCurrentContext().Raise(e);
                    ModelState.AddModelError(string.Empty, "Insert failed");
                }
            }


            var list = _db.Users.Where(x => x.Roles != "Mailer" || x.Roles != "Admin").ToList();

            foreach (var item in _db.UserLeagues.Where(x => x.LeagueId == userLeague.LeagueId))
            {
                if (list.Any(x => x.id == item.UserId))
                {
                    list.RemoveAll(x => x.id == item.UserId);
                }
            }
            ViewBag.UserId = new SelectList(list, "id", "username");
            var league = _db.Leagues.Find(userLeague.LeagueId);

            ViewBag.LeagueName = league.LeagueName;
            return(View(userLeague));
        }
        public async Task <ActionResult <UserLeague> > PostUserLeague(UserLeague userLeague)
        {
            _context.UserLeagues.Add(userLeague);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (UserLeagueExists(userLeague.UserId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetUserLeague", new { id = userLeague.UserId }, userLeague));
        }
예제 #14
0
        public bool AddPlayerToLeague(int id)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var league = ctx.Leagues.Find(id);

                if (league == null)
                {
                    return(false);
                }

                var query =
                    ctx
                    .UserLeagues
                    .Where(e => e.LeagueId == league.LeagueId && e.UserId == _userId.ToString());

                var query2 =
                    ctx
                    .UserLeagues
                    .Where(e => e.LeagueId == league.LeagueId);

                var howManyPlayers = query2.Count();
                if (query.Count() == 0)
                {
                    var entity = new UserLeague()
                    {
                        LeagueId = id,
                        UserId   = _userId.ToString(),
                        Ranking  = howManyPlayers + 1,
                        IdHash   = _userId.ToString().GetHashCode()
                    };
                    ctx.UserLeagues.Add(entity);

                    return(ctx.SaveChanges() == 1);
                }
                return(false);
            }
        }
예제 #15
0
        public void AddUserToLeague(int userid, int leagueid)
        {
            using (var db = new MyLeaguesEntities())
            {
                if (db.UserLeagues.Where(x => x.UserID == userid && x.LeagueID == leagueid).Count() == 0)
                {
                    UserLeague ul = new UserLeague();
                    ul.UserID        = userid;
                    ul.PointsAllowed = 0;
                    ul.PointsScored  = 0;
                    ul.Wins          = 0;
                    ul.Losses        = 0;
                    ul.LeagueID      = leagueid;
                    ul.IsDeleted     = false;
                    ul.CreatedOn     = DateTime.Now;
                    db.UserLeagues.Add(ul);

                    League l = db.Leagues.Where(x => x.ID == leagueid).FirstOrDefault();
                    l.MemberCount++;

                    db.SaveChanges();
                }
            }
        }
        public async Task <IActionResult> get()
        {
            var userLeagues = _context.UserLeagues.ToList();
            var playerTeams = _context.PlayerTeam.ToList();
            var players     = _context.Players.ToList();
            var teams       = _context.Teams.ToList();
            var leagues     = _context.Leagues.ToList();
            var users       = _context.AppUser.ToList();

            UserLeague userInLeagues = new UserLeague();

            DashboardViewModel   dvm  = new DashboardViewModel();
            PlayerTeamsViewModel ptvm = new PlayerTeamsViewModel();

            ptvm.players    = new List <Player>();
            ptvm.scoreSoFar = 0;
            dvm.teams       = new List <PlayerTeamsViewModel>();
            List <DashboardViewModel> dvmList = new List <DashboardViewModel>();

            foreach (League L in leagues)
            {
                if (L.Active == true)
                {
                    dvm.leagueName = L.LeagueName;
                    dvm.leagueID   = L.LeagueId;

                    foreach (UserLeague UL in userLeagues)
                    {
                        if (UL.LeagueForeignKey == dvm.leagueID)
                        {
                            foreach (AppUser AU in users)
                            {
                                if (UL.AppUserForeignKey == AU.Id)
                                {
                                    ptvm.userName = AU.FullName;
                                }
                            }
                            ptvm.teamID = UL.TeamForeignKey;

                            foreach (Team T in teams)
                            {
                                if (ptvm.teamID == T.TeamID)
                                {
                                    ptvm.teamName = T.TeamName;
                                }
                            }

                            foreach (PlayerTeam PT in playerTeams)
                            {
                                if (ptvm.teamID == PT.TeamForeignKey)
                                {
                                    foreach (Player P in players)
                                    {
                                        if (PT.PlayerForeignKey == P.PlayerID)
                                        {
                                            int playerscore = 0;
                                            //Calculate their score so far in the tournament.
                                            if (P.RoundOne != 0 && P.RoundTwo == 0 && P.RoundThree == 0 && P.RoundFour == 0)
                                            {
                                                playerscore += P.RoundOne - 72;
                                            }
                                            else if (P.RoundOne != 0 && P.RoundTwo != 0 && P.RoundThree == 0 && P.RoundFour == 0)
                                            {
                                                playerscore += P.RoundOne + P.RoundTwo - 144;
                                            }
                                            else if (P.RoundOne != 0 && P.RoundTwo != 0 && P.RoundThree != 0 && P.RoundFour == 0)
                                            {
                                                playerscore += P.RoundOne + P.RoundTwo + P.RoundThree - 216;
                                            }
                                            else if (P.RoundOne != 0 && P.RoundTwo != 0 && P.RoundThree != 0 && P.RoundFour != 0)
                                            {
                                                playerscore += P.RoundOne + P.RoundTwo + P.RoundThree + P.RoundFour - 288;
                                            }
                                            else
                                            {
                                                playerscore = 0;
                                            }
                                            ptvm.scoreSoFar += playerscore;
                                            ptvm.players.Add(P);
                                        }
                                    }
                                }
                            }
                        }
                        if (ptvm.teamName != null)
                        {
                            dvm.teams.Add(ptvm);
                            ptvm            = new PlayerTeamsViewModel();
                            ptvm.players    = new List <Player>();
                            ptvm.scoreSoFar = 0;
                        }
                    }
                    dvm.teams = dvm.teams.OrderBy(p => p.scoreSoFar).ToList();
                    dvmList.Add(dvm);
                    dvm       = new DashboardViewModel();
                    dvm.teams = new List <PlayerTeamsViewModel>();
                }
            }

            return(Ok(dvmList));
        }
예제 #17
0
        public async Task <IActionResult> GetTournaments()
        {
            var userLeagues = _context.UserLeagues.ToList();
            var tournaments = _context.Tournaments.ToList();
            var players     = _context.Players.ToList();
            var teams       = _context.Teams.ToList();
            var leagues     = _context.Leagues.ToList();
            var users       = _context.AppUser.ToList();
            var ulttList    = _context.UserLeagueTeamTournaments.ToList();

            UserLeague userInLeagues = new UserLeague();

            PastTournamentViewModel tournVM = new PastTournamentViewModel();
            TourneyLeagueViewModel  tlvm    = new TourneyLeagueViewModel();

            tlvm.teams = new List <TourneyTeamViewModel>();
            TourneyTeamViewModel ttvm = new TourneyTeamViewModel();

            tournVM.leagues = new List <TourneyLeagueViewModel>();

            List <PastTournamentViewModel> tournVMList = new List <PastTournamentViewModel>();

            foreach (Tournament T in tournaments)
            {
                tournVM.tournamentName = T.TournamentName;
                tournVM.tournamentID   = T.TournamentID;
                foreach (League L in leagues)
                {
                    tlvm.leagueName = L.LeagueName;
                    tlvm.leagueID   = L.LeagueId;
                    foreach (UserLeague UL in userLeagues)
                    {
                        if (UL.LeagueForeignKey == L.LeagueId)
                        {
                            foreach (UserLeagueTeamTournament ULTT in ulttList)
                            {
                                foreach (AppUser AU in users)
                                {
                                    if (UL.AppUserForeignKey == AU.Id)
                                    {
                                        ttvm.userName = AU.FullName;
                                    }
                                }

                                if (ULTT.UserLeagueForeignKey == UL.UserLeagueID && ULTT.TournamentForeignKey == tournVM.tournamentID)
                                {
                                    foreach (Team Te in teams)
                                    {
                                        if (Te.TeamID == ULTT.TeamForeignKey)
                                        {
                                            ttvm.team       = Te.TeamName;
                                            ttvm.teamID     = Te.TeamID;
                                            ttvm.finalScore = ULTT.TournamentScore;
                                            tlvm.teams.Add(ttvm);
                                            ttvm = new TourneyTeamViewModel();
                                        }
                                    }
                                }
                            }
                        }
                    }
                    tlvm.teams = tlvm.teams.OrderBy(score => score.finalScore).ToList();
                    if (tlvm.teams.Count != 0)
                    {
                        tournVM.leagues.Add(tlvm);
                    }
                    tlvm       = new TourneyLeagueViewModel();
                    tlvm.teams = new List <TourneyTeamViewModel>();
                }

                if (tournVM.leagues.Count != 0)
                {
                    tournVMList.Add(tournVM);
                }

                tournVM         = new PastTournamentViewModel();
                tournVM.leagues = new List <TourneyLeagueViewModel>();
            }



            return(Ok(tournVMList));
        }
        public async Task <IActionResult> GetTeam()
        {
            var userId  = _caller.Claims.Single(c => c.Type == "id");
            var appuser = await _context.AppUser.Include(c => c.IdentityUser).SingleAsync(c => c.IdentityUser.Id == userId.Value);

            var userLeagues = _context.UserLeagues.ToList();
            var playerTeams = _context.PlayerTeam.ToList();
            var players     = _context.Players.ToList();
            var teams       = _context.Teams.ToList();
            var leagues     = _context.Leagues.ToList();

            UserLeague userInLeagues = new UserLeague();

            PlayerTeamsViewModel ptvm = new PlayerTeamsViewModel();

            ptvm.players = new List <Player>();
            List <PlayerTeamsViewModel> ptvmList = new List <PlayerTeamsViewModel>();

            foreach (UserLeague UL in userLeagues)
            {
                if (UL.AppUserForeignKey == appuser.Id)
                {
                    userInLeagues = UL;
                    foreach (League L in leagues)
                    {
                        if (userInLeagues.LeagueForeignKey == L.LeagueId)
                        {
                            ptvm.leagueName = L.LeagueName;
                        }
                    }

                    foreach (Team T in teams)
                    {
                        if (T.TeamID == UL.TeamForeignKey)
                        {
                            ptvm.teamName = T.TeamName;
                            ptvm.teamID   = T.TeamID;
                        }
                    }

                    foreach (PlayerTeam PT in playerTeams)
                    {
                        if (userInLeagues.TeamForeignKey == PT.TeamForeignKey)
                        {
                            foreach (Player P in players)
                            {
                                if (P.PlayerID == PT.PlayerForeignKey)
                                {
                                    ptvm.players.Add(P);
                                }
                            }
                        }
                    }
                    ptvmList.Add(ptvm);
                    ptvm         = new PlayerTeamsViewModel();
                    ptvm.players = new List <Player>();
                }
            }

            return(Ok(ptvmList));
        }