private static void PopulateTable <T>(DatabaseUpdates dataUpdates) { List <string> allNames = new List <string>(); if (typeof(T) == typeof(Ability)) { foreach (Ability ability in dataUpdates.GetAllAbilitys()) { allNames.Add(ability.Name); } foreach (Ability ability in GameMaster.Abilitys) { if (!allNames.Contains(ability.Name)) { dataUpdates.AddAbility(ability); } } } if (typeof(T) == typeof(Character)) { foreach (Character character in dataUpdates.GetAllCharacters()) { allNames.Add(character.Name); } foreach (Character character in GameMaster.Characters) { if (!allNames.Contains(character.Name)) { dataUpdates.AddCharacter(character); } } } if (typeof(T) == typeof(Division)) { foreach (Division division in dataUpdates.GetAllDivisions()) { allNames.Add(division.Name); } foreach (Division division in GameMaster.Divisions) { if (!allNames.Contains(division.Name)) { dataUpdates.AddDivision(division); } } } }