/// <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(); } }
public static void UpdateToDatabase(Junction junction) { using (var db = new AsniScrapeAdminDbContext()) { db.Junction.Update(junction); db.SaveChanges(); } }
/// <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(); } }
/// <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(); } }
/// <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(); } }
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(); } } }
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(); } } }
/// <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); }