Example #1
0
        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));
        }
Example #2
0
        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);
        }