protected virtual int GetNextId() { if (TrackMapInfos.Count == 0) { return(1); } else { return(TrackMapInfos.Max(t => t.Id) + 1); } }
protected virtual TrackMapInfo SaveTrackMapInfo(TrackMapInfo trackMapInfo) { var existing = GetTrackMapInfo(trackMapInfo.Id); if (existing != null) { DeleteTrackMapInfo(existing); } else { if (trackMapInfo.Id <= 0) { trackMapInfo.Id = GetNextId(); } } TrackMapInfos.Add(trackMapInfo); return(trackMapInfo); }
protected virtual bool DeleteTrackMapInfo(TrackMapInfo trackMapInfo) { TrackMapInfos.Remove(trackMapInfo); return(true); }
protected virtual TrackMapInfo GetTrackMapInfo(int id) { return(TrackMapInfos.FirstOrDefault(t => t.Id == id)); }
protected virtual TrackMapInfo GetTrackMapInfo(string trackName) { return(TrackMapInfos.FirstOrDefault(t => t.TrackName == trackName)); }
protected virtual IList <TrackMapInfo> GetTrackMapInfos() { return(TrackMapInfos.ToList()); }