public static void Remove(DataModelRegistration registration) { lock (Registrations) { if (!Registrations.Contains(registration)) { throw new ArtemisCoreException($"Data model store does not contain data model '{registration.DataModel.DataModelDescription}'"); } Registrations.Remove(registration); registration.IsInStore = false; } OnDataModelRemoved(new DataModelStoreEvent(registration)); }
public static DataModelRegistration Add(DataModel dataModel) { DataModelRegistration registration; lock (Registrations) { if (Registrations.Any(r => r.DataModel == dataModel)) { throw new ArtemisCoreException($"Data model store already contains data model '{dataModel.DataModelDescription}'"); } registration = new DataModelRegistration(dataModel, dataModel.PluginInfo.Instance) { IsInStore = true }; Registrations.Add(registration); } OnDataModelAdded(new DataModelStoreEvent(registration)); return(registration); }