public int GetDrawCount(FavouriteSuperHero hero, string userId) { using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { return(db.BattleLog.Where(log => log.UserHeroId == hero.ApiId && log.WinnerHeroId == null && log.UserId == userId).ToList().Count); } }
public FavouriteSuperHero GetFavouriteHeroById(int heroId) { using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { return(db.FavouriteSuperHero.Where(h => h.ApiId == heroId).FirstOrDefault()); } }
/// <summary> /// save the battle result to the db /// </summary> /// <param name="userHeroId"></param> /// <param name="opponentHeroId"></param> /// <param name="winnerId"></param> public void SaveDuelBattelog(int userHeroId, int opponentHeroId, int?winnerId, string userId) { var newLog = new BattleLog(); try { //mapping newLog.UserHeroId = userHeroId; newLog.OpponentHeroId = opponentHeroId; newLog.WinnerHeroId = winnerId; newLog.UserId = userId; //insert record to the db using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { using (var transaction = db.Database.BeginTransaction()) { db.BattleLog.Add(newLog); db.SaveChanges(); transaction.Commit(); } } } catch (Exception) { throw; } }
public List <int> GetFavouriteHeroIdList() { using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { return(db.FavouriteSuperHero.Select(h => h.ApiId).ToList()); } }
/// <summary> /// get's back the actually logged user /// based on id include the user favourite heroes /// </summary> /// <param name="id"></param> /// <returns></returns> public AspNetUsers GetUserIncludeFavouriteHeroesById(string id) { using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { var user = db.AspNetUsers.Include(u => u.FavouriteSuperHero).Where(u => u.Id == id).FirstOrDefault(); return(user); } }
public List <FavouriteSuperHero> GetUserFavouriteHeroList(string userId) { using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { var user = AspNetUsersDb.GetUserIncludeFavouriteHeroesByIdAndDb(userId, db); return(user.FavouriteSuperHero.ToList()); } }
public FavouriteSuperHero GetUserFavouriteHeroById(int apiId, string userId) { using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { var user = AspNetUsersDb.GetUserIncludeFavouriteHeroesByIdAndDb(userId, db); return(user.FavouriteSuperHero.Where(h => h.ApiId == apiId).FirstOrDefault()); } }
public void SaveHeroToDb(FavouriteSuperHero newFavouriteHero, string userId) { using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { var user = AspNetUsersDb.GetUserIncludeFavouriteHeroesByIdAndDb(userId, db); using (DbContextTransaction tran = db.Database.BeginTransaction()) { newFavouriteHero.AspNetUsers.Add(user); db.FavouriteSuperHero.Add(newFavouriteHero); db.SaveChanges(); tran.Commit(); } } }
public void RemoveHeroFromUserFavouriteList(string userId, int heroId) { using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { var user = GetUserIncludeFavouriteHeroesByIdAndDb(userId, db); var userFavouriteHero = FavouriteSuperHeroDb.GetFavouriteHeroById(heroId, db); using (DbContextTransaction tran = db.Database.BeginTransaction()) { user.FavouriteSuperHero.Remove(userFavouriteHero); db.Entry(user).State = EntityState.Modified; db.SaveChanges(); tran.Commit(); } } }
public void SaveHeroToUserFavHeroList(int apiId, string userId) { using (SuperHeroDBEntities db = new SuperHeroDBEntities()) { var user = GetUserIncludeFavouriteHeroesByIdAndDb(userId, db); var heroToSave = db.FavouriteSuperHero.Where(h => h.ApiId == apiId).FirstOrDefault(); using (DbContextTransaction tran = db.Database.BeginTransaction()) { user.FavouriteSuperHero.Add(heroToSave); db.Entry(user).State = EntityState.Modified; db.SaveChanges(); tran.Commit(); } } }
/// <summary> /// get a user from the db based on id and db context /// </summary> /// <param name="id"></param> /// <param name="db"></param> /// <returns></returns> public static AspNetUsers GetUserIncludeFavouriteHeroesByIdAndDb(string id, SuperHeroDBEntities db) { var user = db.AspNetUsers.Include(u => u.FavouriteSuperHero).Where(u => u.Id == id).FirstOrDefault(); return(user); }
public static FavouriteSuperHero GetFavouriteHeroById(int heroId, SuperHeroDBEntities db) { return(db.FavouriteSuperHero.Where(h => h.ApiId == heroId).FirstOrDefault()); }