public void AddTrack(Entities.Track t) { var existing = (from trk in _tracks where trk.SourceFile == t.SourceFile && trk.Name == t.Name && trk.TrackDate == t.TrackDate select t).FirstOrDefault(); if (existing == null) { t.TrackID = ++_maxId; t.SetDataLoader(this); _tracks.Add(t); SaveData(t); } if (!File.Exists(GetTrackFilename(t))) File.WriteAllText(GetTrackFilename(t), t.Data); }