public Equipment(string name, string imageName, Common.Sport sport) { Name = name; ImageName = imageName; Sport = sport; LoadImage(); }
protected TrainingEntry(TimeSpan duration, Common.Sport sport, Common.EntryType entryType) : base(entryType) { if (entryType != Common.EntryType.Competition) { throw new ArgumentException("constructor for competitions"); } Sport = sport; Duration = duration; }
public SportOverviewChart(Func <TrainingEntry[]> getEntries, Common.Sport sport) : base(() => getEntries().Cast <Entry>().ToArray()) { _sport = sport; Titles.Add(_sport + " Overview"); // can't do that in Initialize() because _sport isn't yet set var trainingTypeColors = Common.GetTrainingTypeColors(_sport); for (var i = 0; i < Common.GetTrainingTypes(_sport).Length; i++) { Series.Add( new Series("Training Type " + Common.GetTrainingTypes(_sport)[i].ToString()) { XValueType = ChartValueType.Date, YValueType = ChartValueType.Int32, ChartType = SeriesChartType.StackedColumn, Color = trainingTypeColors[i], ChartArea = "Monthly Training Types" }); } // must add entries manually for the same reason AddEntries(); // detect whether chartarea is clicked MouseClick += (s, e) => { if (_maximizedChartArea != 0) { _maximizedChartArea = 0; AlignChartAreas(); return; } for (var i = 0; i < ChartAreas.Count; i++) { var minX = (int)ChartAreas[i].Position.X * Width / 100; var maxX = (int)((ChartAreas[i].Position.X + ChartAreas[i].Position.Width) * Width / 100); var minY = (int)ChartAreas[i].Position.Y * Height / 100; var maxY = (int)((ChartAreas[i].Position.Y + ChartAreas[i].Position.Height) * Height / 100); if (e.X < minX || e.X > maxX || e.Y < minY || e.Y > maxY) { continue; } //The mouse is inside the given area _maximizedChartArea = i + 1; AlignChartAreas(); return; } }; }