/// <summary> /// Checks if the description of the skill exists /// </summary> protected SkillEffectName checkIfSkillNameExists(string name, string heroName, string skillName) { SkillEffectName skillEffectName = new SkillEffectName(); using (Dota2Entities ctx = new Dota2Entities()) { //get SkillId SkillCreator.SelectByName(skillName) if (skill != null) { try { if (ctx.SkillEffectName.Any(x => x.Name == name && x.Skill.Hero.Name == heroName)) { Console.WriteLine("Skill " + name + " Already exists..."); return true; } else { return null; } } catch (Exception e) { //TODO implementar log de erro throw e; } } } }
public SkillEffectName insertSkillEffectName(string name, string heroName, string skillName, List<string> skillEffectValues, string skillDescription) { SkillEffectName skillEffectName = new SkillEffectName(); Skill skill = SkillCreator.SelectByName(skillName); skillEffectName.Name = name.Trim(); skillEffectName = checkIfSkillNameExists(name, skill, skillDescription); if (skillEffectName == null) { using (Dota2Entities ctx = new Dota2Entities()) { try { skillEffectName = ctx.SkillEffectName.Add(skillEffectName); ctx.SaveChanges(); Console.WriteLine("Skill " + name + " Created"); } catch (Exception e) { throw e; } } } return skillEffectName; }
public AttributesCreator(int heroId, Dictionary<string, string> primaryStats) { attribute = new Attributes(); attribute.HeroId = heroId; attribute.Intelligence = primaryStats["Intelligence"]; attribute.Agility = primaryStats["Agility"]; attribute.Strength = primaryStats["Strength"]; attribute.Damage = primaryStats["Damage"]; attribute.MoveSpeed = primaryStats["Movespeed"]; attribute.Armor = primaryStats["Armor"]; using (Dota2Entities ctx = new Dota2Entities()) { try { ctx.Attributes.Add(this.attribute); ctx.SaveChanges(); Console.WriteLine("Primary Stats Created "); } catch (Exception e) { //TODO Adicionar ao log throw e; } } }
public SkillImage InsertSkillImage(int skillId, string imageUrl) { SkillImage skillImage = new SkillImage(); try { using (Dota2Entities ctx = new Dota2Entities()) { //Check if the image exists if (!ctx.SkillImage.Any(si => si.Url == imageUrl)) { skillImage.SkillId = skillId; skillImage.Url = imageUrl; ctx.SkillImage.Add(skillImage); ctx.SaveChanges(); } else { skillImage = ctx.SkillImage.Where(si => si.Url == imageUrl).FirstOrDefault(); Console.WriteLine("SkillImage Already exists"); } } } catch (Exception) { //TODO implementar log throw; } return skillImage; }
/// <summary> /// Checks if the description of the skill exists /// </summary> protected SkillEffectName checkIfSkillNameExists(string name, Skill skill, string skillDescription) { SkillEffectName skillEffectName = new SkillEffectName(); using (Dota2Entities ctx = new Dota2Entities()) { try { ctx.Configuration.LazyLoadingEnabled = true; if(ctx.SkillEffectName.Any(s => s.Name == name)) { skillEffectName = ctx.SkillEffectName.Where(x => x.Name == name).First(); skillEffectName = ctx.SkillEffectName.Where(x => x.Name == name && x.Skill.Hero.Name == skill.Hero.Name && skillDescription == skill.Description).First(); Console.WriteLine("Skill " + name + " Already exists..."); return skillEffectName; } else { return null; } } catch (Exception e) { //TODO implementar log de erro throw e; } } }
public Hero createHero(string heroName, string biography) { this.hero = new Hero(); this.hero.Name = heroName; this.hero.Biography = biography; using (Dota2Entities ctx = new Dota2Entities()) { try { ctx.Hero.Add(this.hero); ctx.SaveChanges(); Console.WriteLine("*************************** " + heroName + " Created(Hero)" + "***************************"); } catch (Exception e) { //TODO Adicionar ao log throw e; } } return this.hero; }
public SkillEffectName InsertSkillEffectName(string name, string heroName, Skill skill, List<string> skillEffectValues) { SkillEffectName skillEffectName; Skill completeSkill = SkillCreator.SelectByName(skill.Name); bool exists = checkIfSkillNameExists(name, completeSkill, completeSkill.Description, out skillEffectName); if (!exists) { skillEffectName.Name = name.Trim(); skillEffectName.SkillId = completeSkill.ID; skillEffectName.ValueLv1 = int.Parse(skillEffectValues.First()); skillEffectName.ValueLv2 = int.Parse(skillEffectValues.ElementAt(1)); skillEffectName.ValueLv3 = int.Parse(skillEffectValues.ElementAt(2)); skillEffectName.ValueLv4 = int.Parse(skillEffectValues.ElementAt(3)); skillEffectName.ValueScepter = int.Parse(skillEffectValues.Last()); using (Dota2Entities ctx = new Dota2Entities()) { try { skillEffectName = ctx.SkillEffectName.Add(skillEffectName); ctx.SaveChanges(); Console.WriteLine("Skill " + name + " Created"); } catch (Exception e) { throw e; } } } return skillEffectName; }
/// <summary> /// Checks if the description of the skill exists /// </summary> protected SkillEffectName checkIfSkillNameExists(string name, string heroName, string skillId) { SkillEffectName skillEffectName = new SkillEffectName(); using(Dota2Entities ctx = new Dota2Entities()) { //get SkillId //if (skill != null) //{ // try // { // if (ctx.SkillEffectName.Any(x => // x.Name == name && // x.Skill.Hero.Name == heroName)) // { // Console.WriteLine("Skill " + name + " Already exists..."); // return true; // } // else // { // return null; // } // } // catch (Exception e) // { // //TODO implementar log de erro // throw e; // } //} } }
public HeroPortrait InsertHeroPortrait(int heroId, string imageUrl) { HeroPortrait HeroPortrait = new HeroPortrait(); try { using (Dota2Entities ctx = new Dota2Entities()) { //Check if the image exists if (!ctx.HeroPortrait.Any(si => si.Url == imageUrl)) { HeroPortrait.HeroId = heroId; HeroPortrait.Url = imageUrl; ctx.HeroPortrait.Add(HeroPortrait); ctx.SaveChanges(); Console.WriteLine("Image " + HeroPortrait.Url + " Added"); } else { HeroPortrait = ctx.HeroPortrait.Where(si => si.Url == imageUrl).FirstOrDefault(); Console.WriteLine("HeroPortrait Already exists"); } } } catch (Exception) { //TODO implementar log throw; } return HeroPortrait; }
public Hero createHero(string name, List<string> primaryStats, string biography) { this.hero = new Hero(); this.hero.Name = name; this.hero.Biography = biography; using (Dota2Entities ctx = new Dota2Entities()) { try { ctx.Hero.Add(this.hero); ctx.SaveChanges(); } catch(Exception e) { //TODO Adicionar ao log throw e.Message; } return this.hero; } }
/// <summary> /// Checks if the description of the skill exists /// </summary> protected SkillEffectName checkIfSkillNameExists(string name, Skill skill, string skillDescription) { SkillEffectName skillEffectName = new SkillEffectName(); using (Dota2Entities ctx = new Dota2Entities()) { try { skillEffectName = ctx.SkillEffectName.Where(x => x.Name == name && x.Skill.Hero.Name == skill.Hero.Name && skillDescription == skill.Description).First(); if(skillEffectName.ID != null) { Console.WriteLine("Skill " + name + " Already exists..."); return skillEffectName; } else { return null; } } catch (Exception e) { //TODO implementar log de erro throw e; } } }
public SkillAbilityTypes insert(int skillId, int abilityTypeId, out bool success) { skillAbilityType = new SkillAbilityTypes(); using (Dota2Entities ctx = new Dota2Entities()) { try { skillAbilityType.SkillId = skillId; skillAbilityType.AbilityTypeId = abilityTypeId; ctx.SkillAbilityTypes.Add(skillAbilityType); ctx.SaveChanges(); success = true; } catch (Exception e) { success = false; throw e; } } return skillAbilityType; }
/// <summary> /// Checks if the description of the skill exists, in negative case call the insertSkillDesc /// </summary> public SkillEffectName checkIfSkillNameExists(string name) { SkillEffectName skillEffectName = new SkillEffectName(); using(Dota2Entities ctx = new Dota2Entities()) { try { if (ctx.SkillEffectName.Any(x => x.Name == name)) { Console.WriteLine("Skill " + name + " Already exists..."); } else { skillEffectName = insertSkillEffectName(name); } } catch (Exception e) { //TODO implementar log de erro throw e; } } return skillEffectName; }
void setAbilityCastType(string abilityCastTypeString) { using(Dota2Entities ctx = new Dota2Entities()) { var abilityType = (from e in ctx.AbilityType where e.Name == abilityCastTypeString); } }
public Hero getHeroByName(string heroName) { Hero hero = new Hero(); using (Dota2Entities ctx = new Dota2Entities()) { hero = ctx.Hero.Where(h => h.Name == heroName).FirstOrDefault(); } return hero; }
void setAbilityCastType(string abilityCastTypeString) { AbilityType abilityType = new AbilityType(); using(Dota2Entities ctx = new Dota2Entities()) { var abType = (from p in ctx.AbilityType where p.Name == abilityCastTypeString select p); } }
void setAbilityCastType(string abilityCastTypeString) { AbilityType abilityType = new AbilityType(); using(Dota2Entities ctx = new Dota2Entities()) { var abilityTp = (from p in ctx.AbilityType where p.Name == abilityCastTypeString select p).FirstOrDefault(); abilityType = abilityTp; } }
void setAbilityCastType(string abilityCastTypeString) { using(Dota2Entities ctx = new Dota2Entities()) { var abilityType = (from p in contextDb.PassBook where p.Locator == passBook.Locator where p.PassagerName == passBook.PassagerName where p.FlightData == passBook.FlightData where p.FlightNumber == passBook.FlightNumber where p.DepartureAirportName == passBook.DepartureAirportName select p).FirstOrDefault(); } }
public SkillAbilityTypes insert(int skillId, int abilityTypeId, Dota2Entities ctx) { SkillAbilityTypes skillAbilityType = new SkillAbilityTypes(); try { skillAbilityType.SkillId = skillId; skillAbilityType.AbilityTypeId = abilityTypeId; ctx.SkillAbilityTypes.Add(skillAbilityType); } catch (Exception e) { throw e; } return skillAbilityType; }
void setAbilityCastType(string abilityCastTypeString) { AbilityType abilityType = new AbilityType(); using(Dota2Entities ctx = new Dota2Entities()) { var abilityTp = (from p in ctx.AbilityType where p.Name == abilityCastTypeString select p).FirstOrDefault(); abilityType = abilityTp; } if (abilityType != null) this.skill.AbilityType = abilityType; else { //TODO Incluir este erro no log posteriormente throw new Exception("No AbilityType has been returned. AbilityType: " + abilityCastTypeString); } }
public SkillEffectName InsertSkillEffectName(string name, string heroName, Skill skill, List<string> skillEffectValues) { HeroCreator heroCreator = new HeroCreator(); SkillEffectName skillEffectName; Hero hero = heroCreator.getHeroByName(heroName); Skill completeSkill = SkillCreator.SelectSkill(skill.Name, hero.ID); bool exists = checkIfSkillNameExists(name, completeSkill, completeSkill.Description, out skillEffectName); if (!exists) { skillEffectName.Name = name.Trim(); skillEffectName.SkillId = completeSkill.ID; if (skillEffectValues.FirstOrDefault() != null) skillEffectName.ValueLv1 = skillEffectValues.First(); if (skillEffectValues.ElementAtOrDefault(1) != null) skillEffectName.ValueLv2 = skillEffectValues.ElementAt(1); if (skillEffectValues.ElementAtOrDefault(2) != null) skillEffectName.ValueLv3 = skillEffectValues.ElementAt(2); if (skillEffectValues.ElementAtOrDefault(3) != null) skillEffectName.ValueLv4 = skillEffectValues. ElementAt(3); if (skillEffectValues.LastOrDefault() != null) skillEffectName.ValueScepter = skillEffectValues.Last(); using (Dota2Entities ctx = new Dota2Entities()) { try { skillEffectName = ctx.SkillEffectName.Add(skillEffectName); ctx.SaveChanges(); Console.WriteLine("Skill " + name + " Created"); } catch (Exception e) { throw e; } } } return skillEffectName; }
/// <summary> /// Checks if the description of the skill exists /// </summary> protected bool checkIfSkillNameExists(string name, Skill skill, string skillDescription, out SkillEffectName skillEffectName) { using (Dota2Entities ctx = new Dota2Entities()) { skillEffectName = new SkillEffectName(); try { skill = ctx.Skill.Include("Hero").Where(x => x.ID == skill.ID).First(); var result = from s in ctx.SkillEffectName where s.Name == name && s.SkillId == skill.ID && s.Skill.Hero.Name == skill.Hero.Name && s.Skill.Description == skill.Description select s; if (result.Count() == 1) { Console.WriteLine(result.First().ID + " Skill " + name + " Already exists..." ); skillEffectName = result.First(); return true; } else if (result.Count() > 1) { //TODO Create log throw new Exception("More than 1 skillEffectname returned. Check this"); } else { return false; } } catch (Exception e) { //TODO implementar log de erro throw e; } } }
/// <summary> /// Checks if the description of the skill exists /// </summary> protected SkillEffectName checkIfSkillNameExists(string name, Skill skill, string skillDescription) { SkillEffectName skillEffectName = new SkillEffectName(); using (Dota2Entities ctx = new Dota2Entities()) { try { ctx.Configuration.LazyLoadingEnabled = false; var result = from s in ctx.SkillEffectName where s.SkillId == skill.ID && s.Skill.Hero.Name == skill.Hero.Name && s.Skill.Description == skill.Description select s; if(result.Count() == 0) { Console.WriteLine("Skill " + name + " Already exists..."); return result.First(); } else if(result.Count() > 1) { //TODO Create log throw new Exception("More than 1 skilleffectname returned. Check this"); } else { return null; } } catch (Exception e) { //TODO implementar log de erro throw e; } } }
public SkillEffectName insertSkillEffectName(string name) { SkillEffectName skillEffectName = new SkillEffectName(); skillEffectName.Name = name.Trim(); using(Dota2Entities ctx = new Dota2Entities()) { try { skillEffectName = ctx.SkillEffectName.Add(skillEffectName); ctx.SaveChanges(); Console.WriteLine("Skill " + name + " Created"); } catch (Exception e) { throw e; } } return skillEffectName; }
void setTargetAffectedType (string targetAffectedTypeString) { TargetAffectedType targetAffectedType = new TargetAffectedType(); using (Dota2Entities ctx = new Dota2Entities()) { var targetAffectedTp = (from p in ctx.TargetAffectedType where p.Name == targetAffectedTypeString select p).FirstOrDefault(); targetAffectedType = targetAffectedTp; } if (targetAffectedType != null) { this.skill.TargetAffectedTypeId = targetAffectedType.ID; } else { //TODO Incluir este erro no log posteriormente throw new Exception("No TargetAffectedType has been returned. TargetAffectedType: " + targetAffectedTypeString); } }
void setDamageType(string damageTypeString) { DamageType damageType = new DamageType(); using (Dota2Entities ctx = new Dota2Entities()) { var damageTp = (from p in ctx.DamageType where p.Name == damageTypeString select p).FirstOrDefault(); damageType = damageTp; } if (damageType != null) { this.skill.DamageTypeId = damageType.ID; } else { //TODO Incluir este erro no log posteriormente throw new Exception("No DamageType has been returned. DamageType: " + damageTypeString); } }
/// <summary> /// Insert a new Skill and SkillAbilityTypes /// </summary> private Skill InsertSkill() { SkillAbilityTypesCreator skillAbilityTypesCreator = new SkillAbilityTypesCreator(); bool isSkillAbilityTypeInserted = false; using (Dota2Entities ctx = new Dota2Entities()) { try { ctx.Skill.Add(this.skill); ctx.SaveChanges(); foreach (var abilityType in abilityTypeList) { skillAbilityTypesCreator.insert(this.skill.ID, abilityType.ID, out isSkillAbilityTypeInserted); //If we have a error when inserting SkillAbilityType, then delete the inserted skill if(!isSkillAbilityTypeInserted) { //TODO Create a function to remove all the SkillAbilityTypes that have been created for this skill ctx.Skill.Remove(this.skill); } } } catch (Exception e) { //TODO Adicionar ao log throw e; } } return this.skill; }
/// <summary> /// Workaround /// Get the first skill description because there're skills that have the same name and the same heroName, but they are equals, so get the first description /// </summary> /// <param name="name"></param> /// <param name="description"></param> /// <param name="heroId"></param> /// <returns></returns> public static Skill SelectSkill(string name, int heroId) { Skill skill = new Skill(); using (Dota2Entities ctx = new Dota2Entities()) { try { skill = ctx.Skill.Where(s => s.Name == name && s.HeroId == heroId).FirstOrDefault(); } catch (Exception e) { //TODO adicionar log throw e; } } return skill; }
public bool SkillExists(string skillName, string skillDescription, int heroId) { //Check if the skill exists using (Dota2Entities ctx = new Dota2Entities()) { bool skillExists = ctx.Skill.Any(s => s.HeroId == heroId && s.Name == skillName && s.Description == skillDescription); return skillExists; } }
public SkillAbilityTypesCreator(int skillId, int abilityTypeId, Dota2Entities ctx) { ctx.SkillAbilityTypes }