public Compares(LocalDB db, IDBPlatform idbPlatform) { Platform platform; List = new ObservableCollection <Compare>(); Database = db; Title = idbPlatform.Title + " - " + Enum.GetName(typeof(LocalDB), db); DBreleases = new List <IDBRelease>(); RReleases = new List <Release>(); foreach (IDBRelease idbRelease in idbPlatform.Releases) { DBreleases.Add(idbRelease); } switch (db) { case LocalDB.GamesDB: platform = R.Data.Platforms.FirstOrDefault(x => x.ID_GDB == idbPlatform.ID); if (platform != null) { RReleases = new List <Release>(platform.Releases.Where(x => x.ID_GDB == null && x.IsGame)); } break; case LocalDB.GiantBomb: platform = R.Data.Platforms.FirstOrDefault(x => x.ID_GB == idbPlatform.ID); if (platform != null) { RReleases = new List <Release>(platform.Releases.Where(x => x.ID_GB == null && x.IsGame)); } break; case LocalDB.LaunchBox: platform = R.Data.Platforms.FirstOrDefault(x => x.ID_LB == idbPlatform.ID); if (platform != null) { RReleases = new List <Release>(platform.Releases.Where(x => x.ID_LB == null && x.IsGame)); } break; } }
void CompareToOVGDB(IDBPlatform idbPlatform) { // There are no results in OVGDB for arcade, so skip it if (idbPlatform.Title.Contains("Arcade")) { Reporter.Report("Skiping platform \"Arcade\""); return; } Platform RPlatform = R.Data.Platforms.FirstOrDefault(x => x.ID == idbPlatform.ID); OVGRelease ovgrelease; foreach (Release release in RPlatform.Releases) { ovgrelease = R.Data.OVGReleases.FirstOrDefault(x => x.SHA1 == release.Rom.SHA1 && x.Region_ID == release.Region_ID && (x.BoxFrontURL != null || x.BoxBackURL != null)); if (ovgrelease != null) { release.ID_OVG = ovgrelease.ID; } } }