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); } }
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); }
/// <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; } }
/// <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(); }
/// <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)); }
/// <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; } }