Esempio n. 1
0
        /// <summary>
        /// save list of junction entries to the database
        /// </summary>
        /// <param name="games"></param>
        public static void SaveToDatabaseNoUpdate(List <Junction> games)
        {
            using (var db = new AsniScrapeAdminDbContext())
            {
                // get current database context
                var current = db.Junction.AsNoTracking().ToList();

                List <Junction> toAdd    = new List <Junction>();
                List <Junction> toUpdate = new List <Junction>();

                // iterate through the games list and separete out games to be added and games to be updated
                foreach (var g in games)
                {
                    Junction t = (from a in current
                                  where a.gid == g.gid
                                  select a).SingleOrDefault();
                    if (t == null)
                    {
                        toAdd.Add(g);
                    }
                    else
                    {
                        //toUpdate.Add(g);
                    }
                }
                //db.Junction.UpdateRange(toUpdate);
                db.Junction.AddRange(toAdd);
                db.SaveChanges();
            }
        }
Esempio n. 2
0
 public static void UpdateToDatabase(Junction junction)
 {
     using (var db = new AsniScrapeAdminDbContext())
     {
         db.Junction.Update(junction);
         db.SaveChanges();
     }
 }
Esempio n. 3
0
 /// <summary>
 /// add a single game entry
 /// </summary>
 /// <param name="game"></param>
 public static void AddGame(MOBY_Game game)
 {
     using (var aG = new AsniScrapeAdminDbContext())
     {
         aG.MOBY_Game.Add(game);
         aG.SaveChanges();
         aG.Dispose();
     }
 }
Esempio n. 4
0
 /// <summary>
 /// update a single game entry
 /// </summary>
 /// <param name="game"></param>
 public static void UpdateGame(MOBY_Game game)
 {
     using (var uG = new AsniScrapeAdminDbContext())
     {
         uG.MOBY_Game.Update(game);
         uG.SaveChanges();
         uG.Dispose();
     }
 }
Esempio n. 5
0
        /// <summary>
        /// save list of games to database (add or update logic included)
        /// </summary>
        /// <param name="games"></param>
        public static void SaveToDatabase(List <MOBY_Game> games)
        {
            using (var db = new AsniScrapeAdminDbContext())
            {
                // get current database context
                var current = db.MOBY_Game.AsNoTracking().ToList();

                List <MOBY_Game> toAdd    = new List <MOBY_Game>();
                List <MOBY_Game> toUpdate = new List <MOBY_Game>();

                // iterate through the games list and separete out games to be added and games to be updated
                foreach (var g in games)
                {
                    // games will generally be passed with mid = 0
                    if (g.mid > 0)
                    {
                        MOBY_Game t = (from a in current
                                       where (a.mid == g.mid)
                                       select a).SingleOrDefault();
                        if (t == null)
                        {
                            toAdd.Add(g);
                        }
                        else
                        {
                            toUpdate.Add(g);
                        }
                    }
                    else
                    {
                        MOBY_Game t = (from a in current
                                       where (a.alias == g.alias && a.pid == g.pid)
                                       select a).SingleOrDefault();
                        if (t == null)
                        {
                            toAdd.Add(g);
                        }
                        else
                        {
                            MOBY_Game m = t;
                            m.gameTitle   = g.gameTitle;
                            m.alias       = g.alias;
                            m.pid         = g.pid;
                            m.releaseYear = g.releaseYear;
                            toUpdate.Add(m);
                        }
                    }
                }
                db.MOBY_Game.UpdateRange(toUpdate);
                db.MOBY_Game.AddRange(toAdd);
                db.SaveChanges();
            }
        }
Esempio n. 6
0
        public static void UpdateDoc(Game_Doc doc)
        {
            using (var aG = new AsniScrapeAdminDbContext())
            {
                // check whether doc url already exists
                Game_Doc doc1 = (from a in aG.Game_Doc.AsNoTracking()
                                 where a.id == doc.id
                                 select a).FirstOrDefault();

                if (doc1 != null)
                {
                    aG.Game_Doc.Update(doc);
                    aG.SaveChanges();
                    aG.Dispose();
                }
            }
        }
Esempio n. 7
0
        public static void AddDoc(Game_Doc doc)
        {
            using (var aG = new AsniScrapeAdminDbContext())
            {
                // check whether doc url already exists
                List <Game_Doc> docs = (from a in aG.Game_Doc
                                        where a.downloadUrl == doc.downloadUrl
                                        select a).ToList();

                if (docs.Count == 0)
                {
                    aG.Game_Doc.Add(doc);
                    aG.SaveChanges();
                    aG.Dispose();
                }
            }
        }
Esempio n. 8
0
        /// <summary>
        /// save list of games to database (add or update logic included)
        /// </summary>
        /// <param name="games"></param>
        public static void SaveToDatabase(List <GDB_Game> games)
        {
            // list to hold junction table info
            List <int> jIds = new List <int>();

            using (var db = new AsniScrapeAdminDbContext())
            {
                // get current database context
                var current = db.GDB_Game.AsNoTracking().ToList();

                List <GDB_Game> toAdd    = new List <GDB_Game>();
                List <GDB_Game> toUpdate = new List <GDB_Game>();

                // iterate through the games list and separete out games to be added and games to be updated
                foreach (var g in games)
                {
                    jIds.Add(g.gid);

                    GDB_Game t = (from a in current
                                  where a.gid == g.gid
                                  select a).SingleOrDefault();
                    if (t == null)
                    {
                        toAdd.Add(g);
                    }
                    else
                    {
                        toUpdate.Add(g);
                    }
                }
                db.GDB_Game.UpdateRange(toUpdate);
                db.GDB_Game.AddRange(toAdd);
                db.SaveChanges();
            }

            // now update the junction table if neccesary
            Junction.SaveToDatabaseNoUpdate(jIds);
        }