Exemplo n.º 1
0
        private void GetTypeOptions()
        {
            using (BeaujeauxEntities database = new BeaujeauxEntities())
            {
                var requestTypes = database.RequestTypes.OrderBy(a => a.Rank);
                List <SelectListItem> options = new List <SelectListItem>();

                int id = SelectedRequestId == null ? 0 : int.Parse(SelectedRequestId);

                options.Add(new SelectListItem()
                {
                    Text     = "Select an Option",
                    Value    = "0",
                    Selected = id == 0,
                });

                foreach (var type in requestTypes)
                {
                    options.Add(new SelectListItem()
                    {
                        Text     = type.Display,
                        Value    = type.Id.ToString(),
                        Selected = id == type.Id,
                    });
                }
                RequestTypeOptions = options;
            }
        }
        public SeasonStatsModel(SeasonStatsParameters seasonParameters)
        {
            _seasonStatsParameters = seasonParameters;
            _database = new BeaujeauxEntities();

            // League
            LeagueOptions  = _database.Leagues.ToList();
            SelectedLeague = LeagueOptions.Where(s => s.Id == _seasonStatsParameters.leagueId).FirstOrDefault();
            SelectedLeague = SelectedLeague ?? LeagueOptions.FirstOrDefault();

            // All Seasons for the League
            var _seasons = _database.Seasons
                           .Where(s => s.LeagueId == SelectedLeague.Id);

            SelectedLeagueEra = seasonParameters.leagueEra;

            SetSeasonNumberOptions();
            SetSeasonTypeOptions(_seasons);
            SetSelectedSeasonType(_seasonStatsParameters.seasonTypeId);
            SetSelectedSeason(_seasonStatsParameters.seasonNumber);
            SetTeamOptions(_seasons);
            SetSelectedTeam(_seasonStatsParameters.teamId);
            SetPageNumberInfo(seasonParameters.pageNumber);

            SetStatsForPage();
            TotalPages = GetTotalPageCount();
            BoundCurrentPage();
        }
Exemplo n.º 3
0
        public static void AddRequestTypes()
        {
            BeaujeauxEntities database = new BeaujeauxEntities();

            if (database.RequestTypes.Any())
            {
                return;
            }

            database.RequestTypes.Add(new RequestType()
            {
                Name    = "Bug",
                Display = "Something's Broken",
                Rank    = 1
            });
            database.RequestTypes.Add(new RequestType()
            {
                Name    = "Data",
                Display = "Data is Wrong",
                Rank    = 2
            });
            database.RequestTypes.Add(new RequestType()
            {
                Name    = "Feature",
                Display = "Feature Request",
                Rank    = 3
            });
            database.RequestTypes.Add(new RequestType()
            {
                Name    = "General",
                Display = "Something else",
                Rank    = 4
            });
            database.SaveChanges();
        }
Exemplo n.º 4
0
        public static void MergeIntoExistingSkater(string oldName, string newName)
        {
            using (var db = new BeaujeauxEntities())
            {
                var skaters = db.Skaters.Where(a => a.Name == newName);
                if (skaters.Count() != 1)
                {
                    throw new Exception("too many skaters");
                }
                var newSkater = skaters.First();

                skaters = db.Skaters.Where(a => a.Name == oldName);
                if (skaters.Count() != 1)
                {
                    throw new Exception("too many skaters");
                }
                var oldSkater = skaters.First();

                foreach (var season in oldSkater.SkaterSeasonStats)
                {
                    season.SkaterId = newSkater.Id;
                }

                db.Skaters.Remove(oldSkater);
                db.SaveChanges();
            }
        }
Exemplo n.º 5
0
        public static void RemoveTeamIdForTotal()
        {
            using (var db = new BeaujeauxEntities())
            {
                var stats = db.SkaterSeasonStats
                            .GroupBy(
                    x => new { x.SkaterId, x.SeasonId },
                    (a, b) => b.Where(c => b.Count() > 1)
                    ).Where(a => a.Count() > 1).ToList();

                Console.WriteLine(stats.Count() + " people");
                Console.WriteLine();

                int z = 0;
                List <SkaterSeasonStat> allStats = new List <SkaterSeasonStat>();
                foreach (var season in stats)
                {
                    foreach (var statLine in season)
                    {
                        var stat = db.SkaterSeasonStats.First(a => a.Id == statLine.Id);
                        if (!stat.IsSubtotal)
                        {
                            stat.TeamId = null;
                            allStats.Add(stat);
                            break;
                        }
                    }
                    Console.Write(++z + " ");
                }

                db.SaveChanges();
            }
        }
Exemplo n.º 6
0
        public static void SplitCareerSameName(string name, int startCareer2)
        {
            using (var db = new BeaujeauxEntities())
            {
                var skaters = db.Skaters.Where(a => a.Name == name);
                if (skaters.Count() != 1)
                {
                    throw new Exception("too many skaters");
                }
                var skater = skaters.First();

                skater.Name = name + " I";

                var secondSkater = new DataEF.Skater();
                secondSkater.Name = name + " II";
                db.Skaters.Add(secondSkater);

                db.SaveChanges();

                secondSkater = db.Skaters.Where(a => a.Name == name + " II").First();

                foreach (var season in skater.SkaterSeasonStats.Where(a => a.Season.Number >= startCareer2))
                {
                    season.SkaterId = secondSkater.Id;
                }

                db.SaveChanges();
            }
        }
Exemplo n.º 7
0
 public void SaveDataToDB()
 {
     using (Database = new BeaujeauxEntities())
     {
         DeleteSeasonIfExists();
         PrepareClassData();
         AddStatsToTeams();
         RemoveStatsWithNoPlaying();
     }
 }
Exemplo n.º 8
0
 public void GetSubmissions()
 {
     using (BeaujeauxEntities database = new BeaujeauxEntities())
     {
         Submissions = database.RequestSubmissions
                       .Where(a => a.DateComplete == null)
                       .OrderByDescending(t => t.DateSubmitted)
                       .Include(t => t.RequestType)
                       .ToList();
     }
 }
Exemplo n.º 9
0
        public GoaliePlayerStatsModel(BeaujeauxEntities database, Goalie goalie, int leagueId) : base(database, leagueId)
        {
            Goalie = goalie;

            var seasonTypes = Goalie.GoalieSeasonStats
                              .Select(sss => sss.Season.SeasonType)
                              .Distinct()
                              .ToList();

            var statGroups = new List <GoalieStatGroup>();

            foreach (var type in seasonTypes)
            {
                var stats = database.GoalieSeasonStats
                            .Where(sss => sss.Season.SeasonTypeId == type.Id)
                            .Where(sss => sss.Season.LeagueId == leagueId)
                            .Where(sss => sss.GoalieId == Goalie.Id)
                            .Where(sss => !sss.IsSubtotal)
                            .OrderByDescending(sss => sss.Season.Number)
                            .ToList();

                GoalieSeasonStat totals = new GoalieSeasonStat()
                {
                    GP  = stats.Sum(a => a.GP),
                    W   = stats.Sum(a => a.W),
                    L   = stats.Sum(a => a.L),
                    OTL = stats.Sum(a => a.OTL),
                    MP  = stats.Sum(a => a.MP),
                    PIM = stats.Sum(a => a.PIM),
                    SO  = stats.Sum(a => a.SO),
                    A   = stats.Sum(a => a.A),
                    EG  = stats.Sum(a => a.EG),
                    GA  = stats.Sum(a => a.GA),
                    SA  = stats.Sum(a => a.SA),
                    PSS = stats.Sum(a => a.PSS),
                    PSA = stats.Sum(a => a.PSA),
                    ST  = stats.Sum(a => a.ST),
                    BG  = stats.Sum(a => a.BG),
                    S1  = stats.Sum(a => a.S1),
                    S2  = stats.Sum(a => a.S2),
                    S3  = stats.Sum(a => a.S3),
                };

                statGroups.Add(new GoalieStatGroup()
                {
                    SeasonType = type,
                    Stats      = stats,
                    TotalStats = totals,
                });
            }
            GroupedStats = statGroups;
        }
Exemplo n.º 10
0
        public static void RemoveExtraPlayers()
        {
            using (BeaujeauxEntities database = new BeaujeauxEntities())
            {
                var extraSkaters = database.Skaters
                                   .Where(a => !a.SkaterSeasonStats.Any());
                database.Skaters.RemoveRange(extraSkaters);

                var extraGoalies = database.Goalies
                                   .Where(a => !a.GoalieSeasonStats.Any());
                database.Goalies.RemoveRange(extraGoalies);

                database.SaveChanges();
            }
        }
Exemplo n.º 11
0
        public static void ChangeSkaterName(string oldName, string newName)
        {
            using (var db = new BeaujeauxEntities())
            {
                var skaters = db.Skaters.Where(a => a.Name == oldName);
                if (skaters.Count() != 1)
                {
                    throw new Exception("too many skaters");
                }
                var oldSkater = skaters.First();

                oldSkater.Name = newName;

                db.SaveChanges();
            }
        }
Exemplo n.º 12
0
 public static void AddLeagues()
 {
     using (BeaujeauxEntities database = new BeaujeauxEntities())
     {
         if (!database.Leagues.Any())
         {
             database.Leagues.Add(new League()
             {
                 Acronym = "SHL", Name = "Simulated Hockey League"
             });
             database.Leagues.Add(new League()
             {
                 Acronym = "SMJHL", Name = "Simulated Major Junior Hockey League"
             });
             database.SaveChanges();
         }
     }
 }
Exemplo n.º 13
0
 public static void AddSeasonTypes()
 {
     using (BeaujeauxEntities database = new BeaujeauxEntities())
     {
         if (!database.SeasonTypes.Any())
         {
             database.SeasonTypes.Add(new SeasonType()
             {
                 Name = "Regular Season"
             });
             database.SeasonTypes.Add(new SeasonType()
             {
                 Name = "Playoffs"
             });
             database.SaveChanges();
         }
     }
 }
Exemplo n.º 14
0
        public ActionResult Skater(int?li, int?pi)
        {
            if (pi == null)
            {
                RedirectToAction("Search");
            }

            var    _database = new BeaujeauxEntities();
            Skater skater    = _database.Skaters.Where(s => s.Id == pi).FirstOrDefault();

            if (skater == null)
            {
                throw new Exception("no player found");
            }

            int leagueId = GetLeagueId(li);

            return(View(new SkaterPlayerStatsModel(_database, skater, leagueId)));
        }
Exemplo n.º 15
0
        public PlayerSearchModel(string searchTerm)
        {
            if (searchTerm == null)
            {
                searchTerm = "";
            }

            if (searchTerm.Length < 3)
            {
                AlertMessage  = "Search Term needs to be at least 3 characters long. You tryna ruin my database, mofo? It probably doesn't really matter, but come on, brah.";
                SearchTerm    = "";
                SearchResults = new List <SearchResult>();
            }
            else
            {
                SearchTerm = searchTerm.Trim().ToLower();
                using (var database = new BeaujeauxEntities())
                {
                    var results = new List <SearchResult>();
                    results.AddRange(database.SkaterSeasonStats
                                     //.Where(sss => sss.Season.LeagueId == League.Id) // Replace with a domain object instead
                                     .Where(sss => sss.Skater.Name.Contains(SearchTerm))
                                     .Select(sss => new SearchResult {
                        PlayerName = sss.Skater.Name, PlayerId = sss.SkaterId, IsGoalie = false
                    })
                                     .Distinct()
                                     );

                    results.AddRange(database.GoalieSeasonStats
                                     //.Where(gss => gss.Season.LeagueId == League.Id)
                                     .Where(gss => gss.Goalie.Name.Contains(SearchTerm))
                                     .Select(gss => new SearchResult {
                        PlayerName = gss.Goalie.Name, PlayerId = gss.GoalieId, IsGoalie = true
                    })
                                     .Distinct()
                                     );

                    SearchResults = results
                                    .OrderBy(p => p.PlayerName)
                                    .ToList();
                }
            }
        }
Exemplo n.º 16
0
        public ActionResult Goalie(int?li, int?pi)
        {
            if (pi == null)
            {
                RedirectToAction("Search");
            }

            var    _database = new BeaujeauxEntities();
            Goalie goalie    = _database.Goalies.Where(g => g.Id == pi).FirstOrDefault();

            if (goalie == null)
            {
                throw new Exception("no player found");
            }

            int leagueId = GetLeagueId(li);

            return(View(new GoaliePlayerStatsModel(_database, goalie, leagueId)));
        }
Exemplo n.º 17
0
        public void AddToDB()
        {
            bool safeToSave = true;

            if (Description == null && Description.Length < 10)
            {
                ErrorMessage = "Description must be at least 20 characters to help me fully understand what you need.";
                safeToSave   = false;
            }

            using (BeaujeauxEntities database = new BeaujeauxEntities())
            {
                var         id          = int.Parse(SelectedRequestId);
                RequestType requestType = database.RequestTypes.Where(s => s.Id == id).FirstOrDefault();
                if (requestType == null)
                {
                    safeToSave   = false;
                    ErrorMessage = "Please select a request type.";
                }

                if (safeToSave)
                {
                    database.RequestSubmissions.Add(new RequestSubmission()
                    {
                        RequestTypeId   = requestType.Id,
                        Description     = Description,
                        DateSubmitted   = DateTime.Now,
                        CompleteComment = null,
                        DateComplete    = null,
                    });
                    database.SaveChanges();
                }
            }

            Submitted = safeToSave;
        }
Exemplo n.º 18
0
        public SkaterPlayerStatsModel(BeaujeauxEntities database, Skater skater, int leagueId) : base(database, leagueId)
        {
            Skater = skater;

            var seasonTypes = Skater.SkaterSeasonStats
                              .Select(sss => sss.Season.SeasonType)
                              .Distinct()
                              .OrderBy(st => st.Id)
                              .ToList();

            var statGroups = new List <SkaterStatGroup>();

            foreach (var type in seasonTypes)
            {
                var stats = database.SkaterSeasonStats
                            .Where(sss => sss.Season.SeasonTypeId == type.Id)
                            .Where(sss => sss.Season.LeagueId == leagueId)
                            .Where(sss => sss.SkaterId == Skater.Id)
                            .Where(sss => !sss.IsSubtotal)
                            .OrderByDescending(sss => sss.Season.Number)
                            .ToList();

                SkaterSeasonStat totals = new SkaterSeasonStat()
                {
                    GP   = stats.Sum(a => a.GP),
                    G    = stats.Sum(a => a.G),
                    A    = stats.Sum(a => a.A),
                    P    = stats.Sum(a => a.P),
                    PLMI = stats.Sum(a => a.PLMI),
                    SHT  = stats.Sum(a => a.SHT),
                    SB   = stats.Sum(a => a.SB),
                    MP   = stats.Sum(a => a.MP),
                    PIM  = stats.Sum(a => a.PIM),
                    PM5  = stats.Sum(a => a.PM5),
                    HIT  = stats.Sum(a => a.HIT),
                    HTT  = stats.Sum(a => a.HTT),
                    PPG  = stats.Sum(a => a.PPG),
                    PPA  = stats.Sum(a => a.PPA),
                    PPP  = stats.Sum(a => a.PPP),
                    PPS  = stats.Sum(a => a.PPS),
                    PPM  = stats.Sum(a => a.PPM),
                    PKG  = stats.Sum(a => a.PKG),
                    PKA  = stats.Sum(a => a.PKA),
                    PKP  = stats.Sum(a => a.PKP),
                    PKS  = stats.Sum(a => a.PKS),
                    PKM  = stats.Sum(a => a.PKM),
                    GW   = stats.Sum(a => a.GW),
                    GT   = stats.Sum(a => a.GT),
                    EG   = stats.Sum(a => a.EG),
                    HT   = stats.Sum(a => a.HT),
                    FOW  = stats.Sum(a => a.FOW),
                    FOT  = stats.Sum(a => a.FOT),
                    PSG  = stats.Sum(a => a.PSG),
                    PSS  = stats.Sum(a => a.PSS),
                    FW   = stats.Sum(a => a.FW),
                    FL   = stats.Sum(a => a.FL),
                    FT   = stats.Sum(a => a.FT),
                    S1   = stats.Sum(a => a.S1),
                    S2   = stats.Sum(a => a.S2),
                    S3   = stats.Sum(a => a.S3),
                };

                statGroups.Add(new SkaterStatGroup()
                {
                    SeasonType = type,
                    Stats      = stats,
                    TotalStats = totals,
                });
            }
            GroupedStats = statGroups;
        }
Exemplo n.º 19
0
 public PlayerStatsModel(BeaujeauxEntities database, int leagueId)
 {
     LeagueOptions  = database.Leagues.ToList();
     SelectedLeague = LeagueOptions.Where(s => s.Id == leagueId).FirstOrDefault();
     SelectedLeague = SelectedLeague ?? LeagueOptions.FirstOrDefault();
 }
Exemplo n.º 20
0
 public TeamData(BeaujeauxEntities database, SthsData.Team source, DataEF.Team db)
 {
     Database   = database;
     DataSource = source;
     DataDB     = db;
 }
Exemplo n.º 21
0
        public static void AddFranchises()
        {
            BeaujeauxEntities database = new BeaujeauxEntities();

            database.Franchises.RemoveRange(database.Franchises);

            string[] latestTeamsShl =
            {
                "Buffalo Stampede",
                "Calgary Dragons",
                "Edmonton Blizzard",
                "Hamilton Steelhawks",
                "Manhattan Rage",
                "Toronto North Stars",
                "West Kendall Platoon",
                "Winnipeg Jets",
                "Los Angeles Panthers",
                "Minnesota Chiefs",
                "Texas Renegades",
                "New England Wolfpack",
                "Seattle Riot",
                "San Francisco Pride"
            };

            string[] latestTeamsSmjhl =
            {
                "Detroit Falcons",
                "Montreal Militia",
                "Prince George Firebirds",
                "Kelowna Knights",
                "St Louis Scarecrows",
                "Vancouver Whalers",
                "Colorado Mammoths",
                "Halifax Raiders",
            };

            League shl   = database.Leagues.Where(a => a.Acronym == "SHL").First();
            League smjhl = database.Leagues.Where(a => a.Acronym == "SMJHL").First();

            foreach (var teamName in latestTeamsShl)
            {
                var team = database.Teams.Where(t => t.Name == teamName).FirstOrDefault();
                if (team == null)
                {
                    continue;
                }

                Franchise franchise = new Franchise()
                {
                    LatestTeam = team,
                    League     = shl,
                };

                team.Franchise = franchise;

                if (team.Acronym == "NEW")
                {
                    var hydras = database.Teams.Where(t => t.Name == "Hartford Hydras").FirstOrDefault();
                    franchise.Teams.Add(hydras);
                }
                if (team.Acronym == "SEA")
                {
                    var nightmare = database.Teams.Where(t => t.Name == "Vancouver Nightmare").FirstOrDefault();
                    var lvkings   = database.Teams.Where(t => t.Name == "Las Vegas Kings").FirstOrDefault();
                    var wolves    = database.Teams.Where(t => t.Name == "Vancouver Ice Wolves").FirstOrDefault();
                    franchise.Teams.Add(nightmare);
                    franchise.Teams.Add(lvkings);
                    franchise.Teams.Add(wolves);
                }
                if (team.Acronym == "SFP")
                {
                    var port = database.Teams.Where(t => t.Name == "Portland Admirals").FirstOrDefault();
                    franchise.Teams.Add(port);
                }
                if (team.Acronym == "EDM")
                {
                    var port = database.Teams.Where(t => t.Name == "Edmonton Comets").FirstOrDefault();
                    franchise.Teams.Add(port);
                }

                database.Franchises.Add(franchise);
            }

            foreach (var teamName in latestTeamsSmjhl)
            {
                var team = database.Teams.Where(t => t.Name == teamName).FirstOrDefault();
                if (team == null)
                {
                    continue;
                }

                Franchise franchise = new Franchise()
                {
                    LatestTeam = team,
                    League     = smjhl,
                };

                team.Franchise = franchise;

                if (team.Acronym == "MTL")
                {
                    var impact = database.Teams.Where(t => t.Name == "Montreal Impact").FirstOrDefault();
                    franchise.Teams.Add(impact);
                }

                if (team.Acronym == "PGF")
                {
                    var regina = database.Teams.Where(t => t.Name == "Regina Force").FirstOrDefault();
                    franchise.Teams.Add(regina);
                }

                database.Franchises.Add(franchise);
            }

            database.SaveChanges();
        }