示例#1
0
        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);
        }
示例#2
0
        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);
        }