public EditRace(Race race) { _race = race; InitializeComponent(); LoadBoats(); this.LoadCourses(); LoadRace(); }
public Replay(Race race,Renderer renderer,Notify updateStatistics, Notify updateTime) { _renderer = renderer; race.SetReplayTimes(); _updateStatistics = updateStatistics; _updateTime = updateTime; _race = race; LoadBoats(); _renderer.Initialize(this); Reset(); }
private void LoadPaths(Race race) { DateTime start = race.UtcStart; DateTime end = race.UtcEnd; _paths = new List<List<ColoredCoordinatePoint>>(); foreach (Boat b in race.Boats) { List<ColoredCoordinatePoint> points = new List<ColoredCoordinatePoint>(); Color c = Color.FromArgb(b.Color); SkipperDataSet.SensorReadingsDataTable dt = b.GetSensorReadings(start, end); for(int i=0;i<dt.Rows.Count;i++) { CoordinatePoint cp = new CoordinatePoint(new Coordinate(((SkipperDataSet.SensorReadingsRow)dt.Rows[i]).latitude), new Coordinate(((SkipperDataSet.SensorReadingsRow)dt.Rows[i]).longitude), ((SkipperDataSet.SensorReadingsRow)dt.Rows[i]).altitude); points.Add(new ColoredCoordinatePoint(cp, c)); } _paths.Add(points); } }
public EditCourses(Race race) { this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); InitializeComponent(); LoadPaths(race); _lake = race.Lake; try { _image = AmphibianSoftware.VisualSail.Library.SatelliteImageryHelper.GetImageForLake(_lake); } catch (Exception) { _image = null; } _course = race.Course; LoadCourse(); }
private static void SetBoats(Race race,List<Boat> boats) { List<SkipperDataSet.RaceBoatRow> raceBoats = new List<SkipperDataSet.RaceBoatRow>(); var query = from r in Persistance.Data.RaceBoat.AsEnumerable() where (int)r["race_id"] == race.Id select r; foreach (SkipperDataSet.RaceBoatRow r in query) { raceBoats.Add(r); } foreach (SkipperDataSet.RaceBoatRow r in raceBoats) { r.Delete(); } foreach (Boat r in boats) { Persistance.Data.RaceBoat.AddRaceBoatRow(race.Row, r.Row); } }
private static List<Boat> FindBoats(Race race) { List<Boat> boats = new List<Boat>(); var query = from r in Persistance.Data.RaceBoat.AsEnumerable() where (int)r["race_id"] == race.Id select r; foreach (SkipperDataSet.RaceBoatRow r in query) { boats.Add(Boat.FindById(r.boat_id)); } return boats; }
private void AutoImportGpsDataFileParameters(Race race) { int number = 0; foreach (string gpsDataFile in _gpsDataFileParameters) { try { AmphibianSoftware.VisualSail.Data.Boat b = new AmphibianSoftware.VisualSail.Data.Boat(); b.BoatType = BoatType.FindAll()[0]; System.IO.FileInfo file = new System.IO.FileInfo(gpsDataFile); if (file.Name.Contains(".")) { b.Name = file.Name.Substring(0, file.Name.LastIndexOf(".")); } else { b.Name = file.Name; } b.Color = ColorHelper.AutoColorPick(number).ToArgb(); number++; b.Number = number.ToString(); b.Save(); if (System.IO.File.Exists(gpsDataFile)) { AmphibianSoftware.VisualSail.Data.Import.FileImporter fi = AmphibianSoftware.VisualSail.Data.Import.FileImporter.DetectFileType(gpsDataFile); //BusyDialogManager.Show("Importing Data"); SensorFile sf = fi.ImportFile(gpsDataFile, b); sf.Save(); //BusyDialogManager.HideAll(); } race.Boats.Add(b); } catch (Exception e) { MessageBox.Show("A problem occured while loading " + gpsDataFile+"."+Environment.NewLine+e.Message); } } _gpsDataFileParameters.Clear(); _gpsDataFileParameters = null; }