public bool changeRacerSource(DataSourceBase dsb, double targetVal) { if (!dsb.Equals(dataSource)) { if (dataSource != null && dataSource.isRunning()) { return(false); } if (dsb.isInUse) { return(false); } if (dataSource != null) { dataSource.isInUse = false; //Make sure the old one is marked as free } _dataSource = dsb; dsb.isInUse = true; } targetValue = targetVal; racePanel = new RacerInfoPanel(dataSource.getSportType(), targetVal); return(true); }
public int configureRacer(byte racerNum, DataSourceBase dataSrc, double selectedTrackDist, string firstName = null, string lastname = null, string phoneNum = null, string emailAdr = null) { //Prerequisite: Callers have already ensured selected data source is connected (because not all data sources have the notion of connectivity) if (racerNum == 0xFF) { if (dataSrc.isInUse || isDataSourceReserved(dataSrc)) { return(-1); } //if (dev.getConnStatus() != AntPlusDevMgr.AntPlus_Connection.ConnState.Connected) //Both the remote and the factory list already check for this racerIndexUnderConfig = configuredRacers.Count; configuredRacers.Add(new RacerDetails(dataSrc, selectedTrackDist)); } else { if (racerNum >= configuredRacers.Count) { return(-2); } if ((!dataSrc.Equals(configuredRacers[racerNum].dataSource) && isDataSourceReserved(dataSrc)) || !configuredRacers[racerNum].changeRacerSource(dataSrc, selectedTrackDist)) { return(-1); } racerIndexUnderConfig = racerNum; } if (configuredRacers[racerIndexUnderConfig].racerRecordInfo == null && (firstName != null || lastname != null || phoneNum != null || emailAdr != null)) { configuredRacers[racerIndexUnderConfig].racerRecordInfo = new TrackRecords.RecordData(); if (firstName != null) { configuredRacers[racerIndexUnderConfig].racerRecordInfo.FirstName = firstName; } if (lastname != null) { configuredRacers[racerIndexUnderConfig].racerRecordInfo.LastName = lastname; } if (phoneNum != null) { configuredRacers[racerIndexUnderConfig].racerRecordInfo.PhoneNumber = phoneNum; } if (emailAdr != null) { configuredRacers[racerIndexUnderConfig].racerRecordInfo.Email = emailAdr; } } DisplayRacerList(); return(0); }