public IActionResult Solo(int SoloId) { //create new model SoloModel solo = context.Solos.Single(c => c.ID == SoloId); //get list of abilitiy IDS for the model List <SoloAbility> soloAbils = context.SoloAbilities.Where(c => c.SoloID == SoloId).ToList(); //create list to hold abils List <Ability> abilList = new List <Ability>(); //add each ability to listif any foreach (SoloAbility abil in soloAbils) { abilList.Add(context.Abilities.Single(c => c.ID == abil.AbilityID)); } //set solo abilities to list we just made solo.Abilities = abilList; List <SoloSpell> soloSpells = context.SoloSpells.Where(c => c.SoloID == SoloId).ToList(); List <Spell> Spells = new List <Spell>(); foreach (SoloSpell spell in soloSpells) { Spells.Add(context.Spells.Single(c => c.ID == spell.SpellID)); } solo.Spells = Spells; List <SoloWeapon> soloWeaps = context.SoloWeapons.Where(c => c.SoloID == SoloId).ToList(); List <Weapon> Weapons = new List <Weapon>(); foreach (SoloWeapon spell in soloWeaps) { Weapons.Add(context.Weapons.Single(c => c.ID == spell.WeaponID)); } solo.Weapons = Weapons; ViewBag.Props = solo.GetProps(); ViewBag.PropData = Helper.GetPropData(solo.GetProps(), solo); ViewBag.Type = "Solo"; return(View("SingleSolo", solo)); }
public IActionResult Solo(int SoloId) { List <Ability> AbilityList = context.Abilities.ToList(); SoloModel editSolo = context.Solos.Single(c => c.ID == SoloId); EditSoloViewModel ViewModel = new EditSoloViewModel ( context.Abilities.ToList(), context.Weapons.ToList(), context.Spells.ToList() ) { ARM = editSolo.ARM, CMD = editSolo.CMD, DEF = editSolo.DEF, FA = editSolo.FA, MAT = editSolo.MAT, RAT = editSolo.RAT, Name = editSolo.Name, SPD = editSolo.SPD, PointCost = editSolo.PointCost, STR = editSolo.STR, soloID = editSolo.ID, currenntAbilIDs = context.SoloAbilities.Where(c => c.SoloID == SoloId).Select(x => x.AbilityID).ToList(), currenntSpellIDs = context.SoloSpells.Where(c => c.SoloID == SoloId).Select(x => x.SpellID).ToList(), currenntWeaponIDs = context.SoloWeapons.Where(c => c.SoloID == SoloId).Select(x => x.WeaponID).ToList() }; ViewModel.SelecCurrenttWeapons(); ViewModel.SelectCurrenntSpells(); ViewModel.SelectCurrentAbillities(); return(View("EditSolo", ViewModel)); }
public IActionResult Solo(EditSoloViewModel editModel) { SoloModel editSolo = context.Solos.Single(c => c.ID == editModel.soloID); editModel.currenntAbilIDs = context.SoloAbilities.Where(c => c.SoloID == editModel.soloID).Select(i => i.AbilityID).ToList(); editModel.currenntWeaponIDs = context.SoloWeapons.Where(c => c.SoloID == editModel.soloID).Select(x => x.WeaponID).ToList(); editModel.currenntSpellIDs = context.SoloSpells.Where(c => c.SoloID == editModel.soloID).Select(x => x.SpellID).ToList(); editSolo.ARM = editModel.ARM; editSolo.CMD = editModel.CMD; editSolo.DEF = editModel.DEF; editSolo.FA = editModel.FA; editSolo.MAT = editModel.MAT; editSolo.RAT = editModel.RAT; editSolo.Name = editModel.Name; editSolo.SPD = editModel.SPD; editSolo.PointCost = editModel.PointCost; editSolo.STR = editModel.STR; editSolo.factionName = editModel.Faction; editSolo.FA = editModel.FA; context.SaveChanges(); if (editModel.abilIDS != null) { foreach (var abil in editModel.abilIDS) { if (!editModel.currenntAbilIDs.Contains(abil)) { SoloAbility NewSoloAbility = new SoloAbility(); NewSoloAbility.AbilityID = abil; NewSoloAbility.SoloID = editModel.soloID; context.SoloAbilities.Add(NewSoloAbility); context.SaveChanges(); } foreach (var currentAbil in editModel.currenntAbilIDs) { if (!editModel.abilIDS.Contains(currentAbil)) { SoloAbility soloabil = (from s in context.SoloAbilities where s.AbilityID == currentAbil where s.SoloID == editModel.soloID select s).FirstOrDefault <SoloAbility>(); context.SoloAbilities.Remove(soloabil); context.SaveChanges(); } } } } else { // delete all solo abils var soloAbils = context.SoloAbilities.Where(c => c.SoloID == editModel.soloID).ToList(); foreach (var Abil in soloAbils) { context.SoloAbilities.Remove(Abil); context.SaveChanges(); } } if (editModel.weapIDS != null) { foreach (var weap in editModel.weapIDS) { if (!editModel.currenntWeaponIDs.Contains(weap)) { SoloWeapon NewSoloWeapon = new SoloWeapon(); NewSoloWeapon.WeaponID = weap; NewSoloWeapon.SoloID = editModel.soloID; context.SoloWeapons.Add(NewSoloWeapon); context.SaveChanges(); } foreach (var weaps in editModel.currenntWeaponIDs) { if (!editModel.weapIDS.Contains(weaps)) { SoloWeapon soloWeap = (from s in context.SoloWeapons where s.WeaponID == weap where s.SoloID == editModel.soloID select s).FirstOrDefault <SoloWeapon>(); context.SoloWeapons.Remove(soloWeap); context.SaveChanges(); } } } } else { // delete all solo abils var soloWeaps = context.SoloWeapons.Where(c => c.SoloID == editModel.soloID).ToList(); foreach (var Weap in soloWeaps) { context.SoloWeapons.Remove(Weap); context.SaveChanges(); } } if (editModel.spellIDS != null) { foreach (var spell in editModel.spellIDS) { if (!editModel.currenntSpellIDs.Contains(spell)) { SoloSpell NewSoloSpell = new SoloSpell(); NewSoloSpell.SpellID = spell; NewSoloSpell.SoloID = editModel.soloID; context.SoloSpells.Add(NewSoloSpell); context.SaveChanges(); } foreach (var spells in editModel.currenntSpellIDs) { if (!editModel.weapIDS.Contains(spells)) { SoloSpell soloSpell = (from s in context.SoloSpells where s.SpellID == spell where s.SoloID == editModel.soloID select s).FirstOrDefault <SoloSpell>(); context.SoloSpells.Remove(soloSpell); context.SaveChanges(); } } } } else { // delete all solo abils var soloSpells = context.SoloSpells.Where(c => c.SoloID == editModel.soloID).ToList(); foreach (var Spell in soloSpells) { context.SoloSpells.Remove(Spell); context.SaveChanges(); } } return(Redirect("/View/Solo/" + editSolo.ID)); }
public IActionResult Solo(SoloViewModel model) { if (ModelState.IsValid) { SoloModel newSolo = new SoloModel(); newSolo.Name = model.Name; newSolo.ARM = model.ARM; newSolo.CMD = model.CMD; newSolo.DEF = model.DEF; newSolo.FA = model.FA; newSolo.MAT = model.MAT; newSolo.PointCost = model.PointCost; newSolo.RAT = model.RAT; newSolo.SPD = model.SPD; newSolo.STR = model.STR; newSolo.FA = model.FA; newSolo.factionName = model.Faction; context.Solos.Add(newSolo); context.SaveChanges(); if (model.abilIDS != null) { foreach (var abil in model.abilIDS) { SoloAbility NewSoloAbility = new SoloAbility(); NewSoloAbility.AbilityID = abil; NewSoloAbility.SoloID = newSolo.ID; context.SoloAbilities.Add(NewSoloAbility); context.SaveChanges(); } } if (model.weapIDS != null) { foreach (var weap in model.weapIDS) { SoloWeapon NewSoloWeapon = new SoloWeapon(); NewSoloWeapon.WeaponID = weap; NewSoloWeapon.SoloID = newSolo.ID; context.SoloWeapons.Add(NewSoloWeapon); context.SaveChanges(); } } if (model.spellIDS != null) { foreach (var spell in model.spellIDS) { SoloSpell NewSoloSpell = new SoloSpell(); NewSoloSpell.SpellID = spell; NewSoloSpell.SoloID = newSolo.ID; context.SoloSpells.Add(NewSoloSpell); context.SaveChanges(); } } return(Redirect("/")); } return(View("AddSolo", model)); }