private TeamStatsViewModel PopulateTeamStatsViewModel(int?seasonId)
        {
            TeamStatsViewModel model = new TeamStatsViewModel();
            List <League>      currentLeagues;

            model.Seasons = competitionService.GetSeasons(null, q => q.OrderByDescending(d => d.Id));

            if (!seasonId.HasValue)
            {
                model.FilterBySeasonId = model.Seasons.Max(x => x.Id);
            }
            else
            {
                model.FilterBySeasonId = seasonId.Value;
            }

            currentLeagues = competitionService.GetLeaguesForSeason(model.FilterBySeasonId);

            foreach (League league in currentLeagues)
            {
                model.DivisionStandings.Add(new DivisionStandings()
                {
                    Name      = league.ToString(),
                    Standings = competitionService.GetStandingsForLeague(league.Id)
                });
            }

            return(model);
        }
        public TeamStatsViewModel Submit(DateTime queryDate, string teamSlug)
        {
            var result = new TeamStatsViewModel
            {
                AsOf = queryDate
            };

            var strDate = Utility.UniversalDate(queryDate);

            var httpWebRequest = CreateRequest(
                sport: "baseball",
                league: "mlb",
                apiRequest: "team_season_stats",
                queryParms: $"season_id=mlb-{queryDate.Year}&on={strDate}&team_id={teamSlug}");

            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            List <TeamSeasonStatsDto> teamSeasonStats;

            using (var streamReader = new StreamReader(
                       httpResponse.GetResponseStream()))
            {
                var json = streamReader.ReadToEnd();
                var dto  = JsonConvert.DeserializeObject <TeamStatsDto>(
                    json);

                Teams           = dto.Teams;
                teamSeasonStats = dto.TeamStats;
                if (teamSeasonStats.Count > 0)
                {
                    if (teamSeasonStats[0].Wins != null)
                    {
                        result.Wins = Int32.Parse(teamSeasonStats[0].Wins);
                    }
                    if (teamSeasonStats[0].Losses != null)
                    {
                        result.Losses = Int32.Parse(teamSeasonStats[0].Losses);
                    }
                }
            }
            result.TeamName = teamSlug;
            return(result);
        }
Ejemplo n.º 3
0
        public ActionResult DisplayStats()
        {
            var swimId = 3;
            var bikeId = 2;
            var runId  = 1;
            List <TeamModels>      teams;
            ApplicationUser        currentUser;
            TeamStatsViewModel     teamRecordsViewModel = new TeamStatsViewModel();
            TeamStatsListViewModel teamStatsListed      = new TeamStatsListViewModel();

            teamStatsListed.TeamStats = new List <TeamStatsViewModel>();

            if (User.Identity.IsAuthenticated)
            {
                var currentUserId = User.Identity.GetUserId();
                currentUser = _context.Users.Single(u => u.Id == currentUserId);
                teams       = (from team in _context.Teams
                               where team.Teammates.Count > 0 &&
                               team.IsPrivate == false
                               select team).Include(u => u.TeamApplications)
                              .Include(r => r.IronManRuleModels)
                              .Include(m => m.Teammates)
                              .Include(td => td.TeamTotalSwimDistance).ToList();
            }
            else
            {
                teams = _context.Teams.Where(c => c.Teammates.Count > 0).Select(t => t)
                        .Include(r => r.IronManRuleModels)
                        .Include(m => m.Teammates)
                        .Include(td => td.TeamTotalSwimDistance).ToList();
            }



            for (int i = 0; i < teams.Count; i++)
            {
                var teamRecord = new TeamStatsViewModel();
                teamRecord.TeamId = teams[i].Id;

                teamRecord.TeamName = teams[i].Name;

                teamRecord.TeamPhotoName = teams[i].LinkToPhoto;

                teamRecord.StartDate = teams[i].IronManRuleModels.StartDate;

                var durationInDays = teams[i].IronManRuleModels.DurationInDays;
                var endDate        = teams[i].IronManRuleModels.StartDate.AddDays(durationInDays);
                var daysLeft       = (endDate - DateTime.Today).TotalDays;
                teamRecord.DaysLeft = daysLeft;

                teamRecord.Teammates = teams[i].Teammates.ToList();

                var eachUsersLog = _context.Users.Include(x => x.ActivityLog).ToList();

                var teamsLog = (from logs in eachUsersLog
                                where logs.TeamModelsId == teams[i].Id
                                select logs.ActivityLog.ToList()).ToList();

                for (int x = 0; x < teamsLog.Count(); x++)
                {
                    var thisLog = teamsLog[x];

                    foreach (ActivityLogModels t in thisLog)
                    {
                        if (t.ExerciseTypeModelsId == swimId || t.ExerciseTypeModelsId == rowId || t.ExerciseTypeModelsId == waterAerobicsId)
                        {
                            teamRecord.TotalSwimDistance += (double)t.Distance;
                        }
                        else if (t.ExerciseTypeModelsId == bikeId || t.ExerciseTypeModelsId == spinId)
                        {
                            teamRecord.TotalBikeDistance += (double)t.Distance;
                        }
                        else if (t.ExerciseTypeModelsId == runId)
                        {
                            teamRecord.TotalRunDistance += (double)t.Distance;
                        }
                    }
                }
                teamRecord.TotalDistanceComplete = teamRecord.TotalSwimDistance + teamRecord.TotalBikeDistance + teamRecord.TotalRunDistance;
                teamStatsListed.TeamStats.Add(teamRecord);
            }

            ////This passes correct photo
            return(View(teamStatsListed));
        }
Ejemplo n.º 4
0
 public UpdateTeamStatsListCommand(TeamStatsViewModel viewModel)
 {
     _viewModel = viewModel;
 }
Ejemplo n.º 5
0
 public TeamStatsTemplate(Team _team)
 {
     InitializeComponent();
     BindingContext = new TeamStatsViewModel(_team);
 }