protected virtual void Dispose(bool disposing) { if (disposed) { return; } if (disposing) { // free other managed objects that implement // IDisposable only if (OVdata != null) { OVdata.Dispose(); } } // release any unmanaged objects // set the object references to null OVdata = null; disposed = true; }
void LoadOVData() { OVdata = new OpenVGDBEntities(); OVdata.VGDBPLATFORMS.Load(); OVdata.VGDBRELEASES.Load(); OVdata.VGDBROMS.Load(); OVdata.VGDBREGIONS.Load(); }
public static async Task GetAtariGamesAsync() { using (OpenVGDBEntities OVGdata = new OpenVGDBEntities()) { await Task.Run(() => { OVGdata.Configuration.LazyLoadingEnabled = false; OVGdata.VGDBROMS.Load(); OVGdata.VGDBRELEASES.Load(); OVGdata.VGDBRELEASES.Include(XamlGeneratedNamespace => XamlGeneratedNamespace.VGDBROM).Load(); List <VGDBROM> atariVgdbRoms = OVGdata.VGDBROMS.Where(x => x.systemID == 3 && !x.romFileName.Contains(@"(Hack)") && !x.romFileName.Contains(@"(208 in 1)") && !x.romFileName.Contains(@"(CCE)") && !x.romFileName.Contains(@"(2600 Screen Search Console)")).OrderBy(x => x.romFileName).ToList(); List <Release> newAtariReleases = new List <Release>(); List <VGDBROM> finishedVgdbRoms = new List <VGDBROM>(); int z = 0; Platform atariPlatform = R.Data.Platforms.FirstOrDefault(x => x.Title.Contains("2600")); foreach (VGDBROM atariVgdbRom in atariVgdbRoms) { if (!finishedVgdbRoms.Contains(atariVgdbRom)) { Reporter.Report(z++.ToString()); Game game = new Game(); R.Data.Games.Add(game); List <VGDBROM> currentGameVgdbRoms = atariVgdbRoms .Where(x => x.AtariParentTitle == atariVgdbRom.AtariParentTitle || (!string.IsNullOrEmpty(x.AKA) && x.AKA == atariVgdbRom.AtariParentTitle) || (!string.IsNullOrEmpty(atariVgdbRom.AKA) && atariVgdbRom.AKA == x.AtariParentTitle) && !finishedVgdbRoms.Contains(x) ).ToList(); VGDBROM parentRom = currentGameVgdbRoms.FirstOrDefault(x => x.romFileName.Contains(@"~")); if (parentRom != null) { currentGameVgdbRoms.Remove(parentRom); currentGameVgdbRoms.Insert(0, parentRom); } foreach (VGDBROM gameVgdbRom in currentGameVgdbRoms) { Rom rom = gameVgdbRom; if (!atariPlatform.Roms.Any(x => x.SHA1 == rom.SHA1)) { atariPlatform.Roms.Add(rom); foreach (VGDBRELEAS atariVgdbRelease in gameVgdbRom.VGDBRELEASES) { Release release = atariVgdbRelease; release.Rom = rom; release.Game = game; newAtariReleases.Add(release); } } } finishedVgdbRoms.AddRange(currentGameVgdbRoms); } } newAtariReleases = newAtariReleases.OrderBy(x => x.Title).ToList(); atariPlatform.Releases.AddRange(newAtariReleases); R.Data.Save(); //TODO Report total removed }); } }