Beispiel #1
0
 public static TeamGameStatsSql FromCoreEntity(TeamWeekStats stats)
 {
     return(new TeamGameStatsSql
     {
         TeamId = stats.TeamId,
         Season = stats.Week.Season,
         Week = stats.Week.Week,
         PointsFirstQuarter = stats.PointsFirstQuarter,
         PointsSecondQuarter = stats.PointsSecondQuarter,
         PointsThirdQuarter = stats.PointsThirdQuarter,
         PointsFourthQuarter = stats.PointsFourthQuarter,
         PointsOverTime = stats.PointsOverTime,
         PointsTotal = stats.PointsTotal,
         FirstDowns = stats.FirstDowns,
         TotalYards = stats.TotalYards,
         PassingYards = stats.PassingYards,
         RushingYards = stats.RushingYards,
         Penalties = stats.Penalties,
         PenaltyYards = stats.PenaltyYards,
         Turnovers = stats.Turnovers,
         Punts = stats.Punts,
         PuntYards = stats.PuntYards,
         TimeOfPossessionSeconds = stats.TimeOfPossessionSeconds
     });
 }
Beispiel #2
0
 public static WeekStatsTeamDocument FromCoreEntity(TeamWeekStats entity)
 {
     return(new WeekStatsTeamDocument
     {
         TeamId = entity.TeamId,
         Season = entity.Week.Season,
         Week = entity.Week.Week,
         PointsFirstQuarter = entity.PointsFirstQuarter,
         PointsSecondQuarter = entity.PointsSecondQuarter,
         PointsThirdQuarter = entity.PointsThirdQuarter,
         PointsFourthQuarter = entity.PointsFourthQuarter,
         PointsOverTime = entity.PointsOverTime,
         PointsTotal = entity.PointsTotal,
         FirstDowns = entity.FirstDowns,
         TotalYards = entity.TotalYards,
         PassingYards = entity.PassingYards,
         RushingYards = entity.RushingYards,
         Penalties = entity.Penalties,
         PenaltyYards = entity.PenaltyYards,
         Turnovers = entity.Turnovers,
         Punts = entity.Punts,
         PuntYards = entity.PuntYards,
         TimeOfPossessionSeconds = entity.TimeOfPossessionSeconds
     });
 }
        public void UpdateWith(TeamWeekStats stats)
        {
            _stats.Add(stats);

            foreach (var id in stats.PlayerNflIds)
            {
                _playerTeamMap[id] = stats.TeamId;
            }
        }
Beispiel #4
0
        internal async Task <Team> SetTeamStats(string uncheckedTeamCode, string seasonCode, int weekNumber, TeamStatsUpdate teamStatsUpdate)
        {
            if (teamStatsUpdate == null)
            {
                throw new ArgumentNullException("teamStatsUpdate");
            }

            using (var dbSession = _documentStore.LightweightSession())
            {
                var teamData = await this.GetTeam(dbSession, uncheckedTeamCode);

                // does season exist, if not add
                if (teamData.Seasons == null)
                {
                    teamData.Seasons = new List <TeamSeasonStats>();
                }

                TeamSeasonStats teamSeasonStats = teamData.Seasons.SingleOrDefault(s => s.SeasonCodeRef == seasonCode);
                if (teamSeasonStats == null)
                {
                    teamSeasonStats = new TeamSeasonStats();
                    teamSeasonStats.SeasonCodeRef = seasonCode;
                    teamData.Seasons.Add(teamSeasonStats);
                }

                if (teamSeasonStats.WeekStats == null)
                {
                    teamSeasonStats.WeekStats = new List <TeamWeekStats>();
                }

                TeamWeekStats teamWeekStats = teamSeasonStats.WeekStats.SingleOrDefault(w => w.WeekNumberRef == weekNumber);
                if (teamWeekStats == null)
                {
                    teamWeekStats = new TeamWeekStats();
                    teamWeekStats.WeekNumberRef = weekNumber;
                    teamSeasonStats.WeekStats.Add(teamWeekStats);
                }

                teamWeekStats.FbsRank = teamStatsUpdate.FbsRank;
                teamWeekStats.Losses  = teamStatsUpdate.Losses;
                teamWeekStats.Wins    = teamStatsUpdate.Wins;

                dbSession.Store(teamData);
                dbSession.SaveChanges();

                var pickemEvent = new PickemSystemEvent(PickemSystemEventTypes.TeamStatsChanged, seasonCode, weekNumber);
                pickemEvent.DynamicKeys.teamCode = teamData.TeamCode;
                _pickemEventer.Emit(pickemEvent);

                return(MapTeamData(teamData));
            }
        }