Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        void LoadOVData()
        {
            OVdata = new OpenVGDBEntities();

            OVdata.VGDBPLATFORMS.Load();
            OVdata.VGDBRELEASES.Load();
            OVdata.VGDBROMS.Load();
            OVdata.VGDBREGIONS.Load();
        }
Exemplo n.º 3
0
        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
                });
            }
        }