private void FillChart(IEnumerable <MatchDetails> details, int teamId) { #if !MONO chartHatstats.Series.Clear(); chartHatstats.SuspendLayout(); //Series hatStats = new Series("Hatstats"); Series defStats = new Series("Defense") { ChartType = SeriesChartType.StackedColumn }; Series midStats = new Series("Midfield") { ChartType = SeriesChartType.StackedColumn }; Series attStats = new Series("Attack") { ChartType = SeriesChartType.StackedColumn }; foreach (MatchDetails d in details.SafeEnum().OrderBy(d => d.Date)) { string htts = new HtTime(d.Date).ToString(); HatStats hs = (teamId == d.HomeTeam.ID) ? (HatStats)d.HomeRatings : (HatStats)d.AwayRatings; string tooltip = new StringBuilder() .AppendLine(htts) .AppendLine(d.ToString()) .AppendLine(d.Type.ToString()) .Append("Hatstats: ").AppendLine(hs.Total.ToString()) .Append("Defense: ").AppendLine(hs.Defense.ToString()) .Append("Midfield: ").AppendLine(hs.Midfield.ToString()) .Append("Attack: ").AppendLine(hs.Attack.ToString()) .ToString(); DataPoint point = defStats.Points.Add(hs.Defense); point.ToolTip = tooltip; point.AxisLabel = htts; midStats.Points.Add(hs.Midfield).ToolTip = tooltip; attStats.Points.Add(hs.Attack).ToolTip = tooltip; } chartHatstats.Series.Add(defStats); chartHatstats.Series.Add(midStats); chartHatstats.Series.Add(attStats); chartHatstats.ResumeLayout(); #endif }
private void FillList(IEnumerable <MatchDetails> details, int teamId) { try { sortableListViewMatches.Items.Clear(); sortableListViewMatches.SuspendLayout(); foreach (MatchDetails d in details.SafeEnum()) { ListViewItem item = new ListViewItem(d.Date.ToShortDateString()); item.Tag = d.Date; item.SubItems[0].Tag = item.Tag; object value = 0; value = new HtTime(d.Date); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = (teamId != d.HomeTeam.ID) ? d.HomeTeam : d.AwayTeam; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = d.Type; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId == d.HomeTeam.ID) ? "Home" : "Away"; // TODO neutral ground item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId == d.HomeTeam.ID) ? d.FinalScore.HomeGoals : d.FinalScore.AwayGoals; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId != d.HomeTeam.ID) ? d.FinalScore.HomeGoals : d.FinalScore.AwayGoals; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = d.Minutes; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (d.Visitors != null) ? d.Visitors.Total : null; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = (teamId == d.HomeTeam.ID) ? ((HatStats)d.HomeRatings).Total : ((HatStats)d.AwayRatings).Total; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId == d.HomeTeam.ID) ? ((HatStats)d.HomeRatings).Defense : ((HatStats)d.AwayRatings).Defense; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId == d.HomeTeam.ID) ? ((HatStats)d.HomeRatings).Midfield : ((HatStats)d.AwayRatings).Midfield; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId == d.HomeTeam.ID) ? ((HatStats)d.HomeRatings).Attack : ((HatStats)d.AwayRatings).Attack; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId != d.HomeTeam.ID) ? ((HatStats)d.HomeRatings).Total : ((HatStats)d.AwayRatings).Total; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId != d.HomeTeam.ID) ? ((HatStats)d.HomeRatings).Defense : ((HatStats)d.AwayRatings).Defense; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId != d.HomeTeam.ID) ? ((HatStats)d.HomeRatings).Midfield : ((HatStats)d.AwayRatings).Midfield; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = (teamId != d.HomeTeam.ID) ? ((HatStats)d.HomeRatings).Attack : ((HatStats)d.AwayRatings).Attack; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); sortableListViewMatches.Items.Add(item); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { sortableListViewMatches.ResumeLayout(); } }
private void FillChart(TransferHistory th) { #if !MONO chartBySeason.Series.Clear(); chartBySeason.ResetAutoValues(); if (th == null || th.Team == null) { return; } chartBySeason.SuspendLayout(); // attach the shown data to the chart chartBySeason.Tag = th; Series boughtSeries = new Series("Bought") { ChartType = SeriesChartType.Column }; Series soldSeries = new Series("Sold") { ChartType = SeriesChartType.Column }; int startSeason = new HtTime(th.From).Season; int endSeason = new HtTime(th.To).Season; for (int season = startSeason; season <= endSeason; ++season) { IEnumerable <Transfer> transfersOfSeason = th.Transfers.SafeEnum().Where(t => new HtTime(t.Date).Season == season); IEnumerable <Transfer> buys = transfersOfSeason.Where(t => t.Buyer != null && t.Buyer.ID == th.Team.ID); IEnumerable <Transfer> sales = transfersOfSeason.Where(t => t.Seller != null && t.Seller.ID == th.Team.ID); int noBuys = buys.Count(); int noSales = sales.Count(); Money amountBuys = new Money(0); Money amountSales = new Money(0); // ORIGINAL IMPLEMENTATION: //buys.ForEach(t => amountBuys += t.Price); //sales.ForEach(t => amountSales += t.Price); // REASON FOR CHANGE: // The transfer price should be right-hand-side to avoid showing the initial currency of amountBuys/Sales buys.ForEach(t => amountBuys = t.Price + amountBuys); sales.ForEach(t => amountSales = t.Price + amountSales); StringBuilder toolBuilder = new StringBuilder("Season ").Append(season).AppendLine() .Append("Number of buys: ").Append(noBuys).AppendLine() .Append("Amount of buys: ").AppendLine(amountBuys.ToString()) .Append("Number of sales: ").Append(noSales).AppendLine() .Append("Amount of sales: ").AppendLine(amountSales.ToString()); boughtSeries.Points.Add(new DataPoint(season, amountBuys.Amount) { ToolTip = toolBuilder.ToString() }); soldSeries.Points.Add(new DataPoint(season, amountSales.Amount) { ToolTip = toolBuilder.ToString() }); } chartBySeason.Series.Add(boughtSeries); chartBySeason.Series.Add(soldSeries); chartBySeason.ResumeLayout(); #endif }
private void FillList(TransferHistory th) { sortableListViewTransfers.Items.Clear(); if (th == null || th.Team == null) { return; } sortableListViewTransfers.SuspendLayout(); //attach the shown data to the list sortableListViewTransfers.Tag = th; int teamId = th.Team.ID; foreach (Transfer t in th.Transfers.SafeEnum()) { // TODO: handle players which are "bought" and "sold" correctly if (t.Seller.ID == t.Buyer.ID) { continue; } ListViewItem item = new ListViewItem(t.Date.ToShortDateString()); item.Tag = t.Date; item.SubItems[0].Tag = item.Tag; object value = 0; value = new HtTime(t.Date); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = (teamId == t.Buyer.ID) ? "bought" : "sold"; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = t.Player; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = (teamId == t.Buyer.ID) ? t.Seller : t.Buyer; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = t.Price; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); sortableListViewTransfers.Items.Add(item); } sortableListViewTransfers.ResumeLayout(); }
private void FillDetailsMatches() { try { sortableListViewDetails2.Items.Clear(); sortableListViewDetails2.SuspendLayout(); if (sortableListViewOverview.SelectedItems.Count == 0) { return; } KeyValuePair <Player, IList <MatchAppearance> > sitem; if (sortableListViewOverview.SelectedItems[0].Tag is KeyValuePair <Player, IList <MatchAppearance> > ) { sitem = (KeyValuePair <Player, IList <MatchAppearance> >)sortableListViewOverview.SelectedItems[0].Tag; } else { return; } foreach (MatchAppearance d in sitem.Value.SafeEnum()) { ListViewItem item = new ListViewItem(d.Match.Date.ToShortDateString()); item.Tag = d.Match.Date; item.SubItems[0].Tag = item.Tag; object value = 0; value = new HtTime(d.Match.Date); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = d.Match.Type; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = d.Match; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = d.Role; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = d.Minutes; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = d.Goals.Count; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = d.SubstituteIn; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = d.SubstituteOut; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = d.YellowCarded; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = d.RedCarded; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = d.Bruised; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = d.Injured; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); value = d.BestPlayer; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ((bool)value == true) ? "yes" : "-") { Tag = value }); value = d.RatingStars; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (value != null) ? value.ToString() : "-") { Tag = value }); sortableListViewDetails2.Items.Add(item); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { sortableListViewDetails2.ResumeLayout(); } }
private void FillDetailsGoals() { try { sortableListViewDetails3.Items.Clear(); sortableListViewDetails3.SuspendLayout(); if (sortableListViewOverview.SelectedItems.Count == 0) { return; } KeyValuePair <Player, IList <MatchAppearance> > sitem; if (sortableListViewOverview.SelectedItems[0].Tag is KeyValuePair <Player, IList <MatchAppearance> > ) { sitem = (KeyValuePair <Player, IList <MatchAppearance> >)sortableListViewOverview.SelectedItems[0].Tag; } else { return; } foreach (var v in sitem.Value.SafeEnum()) { foreach (Goal g in v.Goals.SafeEnum()) { ListViewItem item = new ListViewItem(g.Match.Date.ToShortDateString()); item.Tag = g.Match.Date; item.SubItems[0].Tag = item.Tag; object value = 0; value = new HtTime(g.Match.Date); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = g.Match.Type; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = g.Match; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = g.Score; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); value = g.Minute; item.SubItems.Add(new ListViewItem.ListViewSubItem(item, value.ToString()) { Tag = value }); sortableListViewDetails3.Items.Add(item); } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { sortableListViewDetails3.ResumeLayout(); } }