Exemple #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);
     }
 }
Exemple #2
0
        internal static OpponentHeroData MapOpponentHero(int heroId, FavouriteSuperHero opponentHero)
        {
            var chosenOpponentHero = new OpponentHeroData();

            chosenOpponentHero.OpponentHeroId       = heroId;
            chosenOpponentHero.OpponentHeroName     = opponentHero.Name;
            chosenOpponentHero.OpponentHeroRealName = opponentHero.RealName;
            chosenOpponentHero.OpponentHeroImgUrl   = opponentHero.ImgUrl;

            return(chosenOpponentHero);
        }
        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();
                }
            }
        }
        internal static UserHeroData MapUserHero(int heroId, FavouriteSuperHero userHero)
        {
            var chosenUserHero = new UserHeroData();

            chosenUserHero.UserHeroId           = heroId;
            chosenUserHero.UserHeroName         = userHero.Name;
            chosenUserHero.UserHeroRealName     = userHero.RealName;
            chosenUserHero.UserHeroIntelligence = userHero.Intelligence;
            chosenUserHero.UserHeroStrength     = userHero.Strength;
            chosenUserHero.UserHeroSpeed        = userHero.Speed;
            chosenUserHero.UserHeroDurability   = userHero.Durability;
            chosenUserHero.UserHeroPower        = userHero.Power;
            chosenUserHero.UserHeroCombat       = userHero.Combat;
            chosenUserHero.UserHeroImgUrl       = userHero.ImgUrl;

            return(chosenUserHero);
        }
        /// <summary>
        /// mapping a hero that we get from api,
        /// to a new favourite superhero, because the hero
        /// insn't in our db
        /// </summary>
        /// <param name="hero"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        internal static FavouriteSuperHero MappingNewFavouriteHero(SuperHeroById.HeroById hero)
        {
            var newFavouriteHero = new FavouriteSuperHero();

            //mapping for our db from api
            newFavouriteHero.ApiId        = Convert.ToInt32(hero.ApiId);
            newFavouriteHero.Name         = hero.Name;
            newFavouriteHero.RealName     = hero.Biography.Full_Name;
            newFavouriteHero.ImgUrl       = hero.Image.Url;
            newFavouriteHero.Intelligence = MappingExtensions.StatStringToInt(hero.Powerstats.Intelligence);
            newFavouriteHero.Strength     = MappingExtensions.StatStringToInt(hero.Powerstats.Strength);
            newFavouriteHero.Speed        = MappingExtensions.StatStringToInt(hero.Powerstats.Speed);
            newFavouriteHero.Durability   = MappingExtensions.StatStringToInt(hero.Powerstats.Durability);
            newFavouriteHero.Power        = MappingExtensions.StatStringToInt(hero.Powerstats.Power);
            newFavouriteHero.Combat       = MappingExtensions.StatStringToInt(hero.Powerstats.Combat);

            return(newFavouriteHero);
        }
Exemple #6
0
        /// <summary>
        /// modelling a random enemy hero when api
        /// not working
        /// </summary>
        /// <param name="randomOpponentHero"></param>
        /// <returns></returns>
        internal static FavouriteSuperHero MappingWhenApiNotWorking(SuperHeroById.HeroById randomOpponentHero)
        {
            var opponentHero = new FavouriteSuperHero();

            try
            {
                opponentHero.ApiId        = 0;
                opponentHero.Name         = "Temporarily Unavailable!";
                opponentHero.RealName     = "Temporarily Unavailable!";
                opponentHero.ImgUrl       = "../../../img/pictureNA.jpg";
                opponentHero.Intelligence = 0;
                opponentHero.Strength     = 0;
                opponentHero.Speed        = 0;
                opponentHero.Durability   = 0;
                opponentHero.Power        = 0;
                opponentHero.Combat       = 0;

                return(opponentHero);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #7
0
        /// <summary>
        /// help modelling the data we get from the api
        /// </summary>
        /// <param name="randomOpponentHero"></param>
        /// <returns></returns>
        internal static FavouriteSuperHero Mapping(SuperHeroById.HeroById randomOpponentHero)
        {
            var opponentHero = new FavouriteSuperHero();

            try
            {
                opponentHero.ApiId        = Convert.ToInt32(randomOpponentHero.ApiId);
                opponentHero.Name         = randomOpponentHero.Name;
                opponentHero.RealName     = randomOpponentHero.Biography.Full_Name;
                opponentHero.ImgUrl       = randomOpponentHero.Image.Url;
                opponentHero.Intelligence = MappingExtensions.StatStringToInt(randomOpponentHero.Powerstats.Intelligence);
                opponentHero.Strength     = MappingExtensions.StatStringToInt(randomOpponentHero.Powerstats.Strength);
                opponentHero.Speed        = MappingExtensions.StatStringToInt(randomOpponentHero.Powerstats.Speed);
                opponentHero.Durability   = MappingExtensions.StatStringToInt(randomOpponentHero.Powerstats.Durability);
                opponentHero.Power        = MappingExtensions.StatStringToInt(randomOpponentHero.Powerstats.Power);
                opponentHero.Combat       = MappingExtensions.StatStringToInt(randomOpponentHero.Powerstats.Combat);

                return(opponentHero);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public BattleViewModel()
 {
     UserHero     = new FavouriteSuperHero();
     OpponentHero = new FavouriteSuperHero();
 }
Exemple #9
0
 /// <summary>
 /// mapping the data from our db
 /// or if the hero not in our db then mapping
 /// a not available hero
 /// </summary>
 /// <param name="model"></param>
 /// <param name="hero"></param>
 /// <returns></returns>
 public DetailedHeroViewModel MappingWhenApiNA(DetailedHeroViewModel model, FavouriteSuperHero hero)
 {
     return(DetailedHeroMapping.MappingWhenApiNA(model, hero));
 }
Exemple #10
0
 /// <summary>
 /// save a new favourite hero to db
 /// (means add to the given user favourite hero list,
 /// and also add to the favouritehero table)
 /// </summary>
 /// <param name="newFavouriteHero"></param>
 /// <param name="user"></param>
 public void SaveHeroToDb(FavouriteSuperHero newFavouriteHero, string userId)
 {
     favouriteSuperHeroDb.SaveHeroToDb(newFavouriteHero, userId);
 }
        /// <summary>
        /// mapping the data from our db
        /// or if the hero not in our db then mapping
        /// a not available hero
        /// </summary>
        /// <param name="model"></param>
        /// <param name="hero"></param>
        /// <returns></returns>
        internal static DetailedHeroViewModel MappingWhenApiNA(DetailedHeroViewModel model, FavouriteSuperHero hero)
        {
            var infoWhenApiNA = "Temporarily Unavailable!";

            try
            {
                //if the hero doesn't exist in our db yet
                if (hero == null)
                {
                    model.Name     = infoWhenApiNA;
                    model.ImageUrl = "../../../img/pictureNA.jpg";
                    model.BiographyData.Full_Name      = infoWhenApiNA;
                    model.BiographyData.Alignment      = infoWhenApiNA;
                    model.BiographyData.Place_Of_Birth = infoWhenApiNA;
                    model.BiographyData.Publisher      = infoWhenApiNA;
                    model.AppearanceValues.Gender      = infoWhenApiNA;
                    model.AppearanceValues.Race        = infoWhenApiNA;
                    model.Powerstat.Intelligence       = infoWhenApiNA;
                    model.Powerstat.Strength           = infoWhenApiNA;
                    model.Powerstat.Speed      = infoWhenApiNA;
                    model.Powerstat.Durability = infoWhenApiNA;
                    model.Powerstat.Power      = infoWhenApiNA;
                    model.Powerstat.Combat     = infoWhenApiNA;

                    return(model);
                }

                //if the hero is in our db already
                model.ApiId    = hero.ApiId.ToString();
                model.Name     = hero.Name;
                model.ImageUrl = hero.ImgUrl;
                model.BiographyData.Full_Name      = hero.RealName;
                model.BiographyData.Alignment      = infoWhenApiNA;
                model.BiographyData.Place_Of_Birth = infoWhenApiNA;
                model.BiographyData.Publisher      = infoWhenApiNA;
                model.AppearanceValues.Gender      = infoWhenApiNA;
                model.AppearanceValues.Race        = infoWhenApiNA;
                model.Powerstat.Intelligence       = hero.Intelligence.ToString();
                model.Powerstat.Strength           = hero.Strength.ToString();
                model.Powerstat.Speed      = hero.Speed.ToString();
                model.Powerstat.Durability = hero.Durability.ToString();
                model.Powerstat.Power      = hero.Power.ToString();
                model.Powerstat.Combat     = hero.Combat.ToString();

                return(model);
            }
            catch (Exception)
            {
                throw;
            }
        }