public async Task <IActionResult> Clans(Clan clan) { //json handler and page model ClashJson clashJson = new ClashJson(_clientFactory); ClansModel model = new ClansModel(context); Clan returnClan = new Clan(); if (clan.Tag != null) { if (clan.Tag.Length > 1) { if (!clan.Tag.StartsWith('#')) { clan.Tag = "#" + clan.Tag; } } } //tries to get the clan data, if it fails or remains null it will be tagged "invalid" try { returnClan = await clashJson.GetClanData(clan.Tag); } catch { returnClan = new Clan(); returnClan.Tag = "invalid"; } if (returnClan == null) { returnClan = new Clan(); returnClan.Tag = "invalid"; } if (returnClan.Tag != "invalid") { context.Clans.Add(returnClan); context.SaveChanges(); } //loads the searched clan into the model model.SearchedClan = returnClan; return(View(model)); }