private void Add(AbilityResourceVM selectedAbility) { Ability newAbility = AbilityFactory.Create(selectedAbility.Model); AbilityVM newVM = CreateItem(newAbility); Abilities.Add(newVM); }
public static AbilityResourceVM Create(AbilityResource model) { Func <AbilityResourceVM> factoryMethod; if (!_factoryMethods.TryGetValue(model.GetType(), out factoryMethod)) { throw new NotSupportedException(String.Format("{0} is not supported.", model.GetType().Name)); } AbilityResourceVM viewModel = factoryMethod(); viewModel.Model = model; return(viewModel); }