public async Task <IActionResult> Create(Company company, int campID) { try { if (ModelState.IsValid) { _context.Companies.Add(company); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Campaign))); } } catch (DbUpdateException) { ModelState.AddModelError("", "Unable to make changes"); } return(RedirectToAction(nameof(Campaign), campID)); }
public async Task <IActionResult> NewCampaign( [Bind("Title")] Campaign campaign) { try { if (ModelState.IsValid) { _context.Campaigns.Add(campaign); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Browser))); } } catch (DbUpdateException ex) { ModelState.AddModelError("", "Unable to save changes."); } return(View(campaign)); }
//In LOTR BattleCompanies, every starting Company is identical save for which models are chosen to become Starting Heroes //Add Default Company creates those soldiers (minus the heroes) and adds every required relationship they have. //This method should be called with an 'await' keyword before anything else is done with the company. public static async void AddDefaultCompany(BattleCompanyContext context, Company newCompany) { List <Wargear> wargears = await context.Wargears.ToListAsync(); List <Keyword> keywords = await context.Keywords.ToListAsync(); var mordor = context.Factions.FirstOrDefaultAsync(o => o.FactionName == "Mordor"); List <Soldier> defaultGuys = new List <Soldier>(); for (int i = 0; i < 9; i++) { defaultGuys.Add(new Soldier() { Movement = 6, Fight = 3, Shoot = 5, Strength = 3, Defense = 3, Attacks = 1, Wounds = 1, Courage = 2, Company = newCompany }); } foreach (Soldier guy in defaultGuys) { guy.SoldierKeywords.Add(new SoldierKeywords() { Keyword = keywords.FirstOrDefault(o => o.KeywordText == Keyword.INF_KEYWORD), Soldier = guy }); guy.SoldierKeywords.Add(new SoldierKeywords() { Keyword = keywords.FirstOrDefault(o => o.KeywordText == Keyword.ORC_KEYWORD), Soldier = guy }); guy.SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Armor"), Soldier = guy }); guy.SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Sword"), Soldier = guy }); } defaultGuys[0].SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Shield"), Soldier = defaultGuys[0] }); defaultGuys[1].SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Shield"), Soldier = defaultGuys[1] }); defaultGuys[2].SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Shield"), Soldier = defaultGuys[2] }); defaultGuys[3].SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Spear"), Soldier = defaultGuys[3] }); defaultGuys[4].SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Spear"), Soldier = defaultGuys[4] }); defaultGuys[5].SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Twohanded Sword"), Soldier = defaultGuys[5] }); defaultGuys[6].SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Twohanded Sword"), Soldier = defaultGuys[6] }); defaultGuys[7].SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Orc Bow"), Soldier = defaultGuys[7] }); defaultGuys[8].SoldierWargears.Add(new SoldierWargear() { Wargear = wargears.FirstOrDefault(o => o.WargearName == "Orc Bow"), Soldier = defaultGuys[8] }); context.Soldiers.AddRange(defaultGuys); await context.SaveChangesAsync(); }