Beispiel #1
0
 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());
     }
 }
Beispiel #3
0
        /// <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());
     }
 }
Beispiel #5
0
 /// <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();
                }
            }
        }
Beispiel #9
0
        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();
                }
            }
        }
Beispiel #10
0
        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();
                }
            }
        }
Beispiel #11
0
        /// <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());
 }