Ejemplo n.º 1
0
 void Update(PlugLocation plugLoc)
 {
     using (PlugLocationFactory factory = PlugLocationFactory.GetInstance())
     {
         factory.Context = this.FactoryContext;
         factory.InternalUpdate(plugLoc);
     }
 }
Ejemplo n.º 2
0
        public void UpdateAll(PlugIn plug)
        {
            try
            {
                this.FactoryContext.BeginTransaction();
                ValidateInstance(plug);
                using (PlugInFactory factory = PlugInFactory.GetInstance())
                {
                    factory.Context = this.FactoryContext;
                    factory.InternalUpdate(plug);
                }
                using (PlugLocationFactory locationFactory = PlugLocationFactory.GetInstance())
                {
                    locationFactory.Context = this.FactoryContext;
                    foreach (PlugLocation location in plug.Locations)
                    {
                        locationFactory.InternalUpdate(location);
                    }
                }
                using (PlugFileFactory fileFactory = PlugFileFactory.GetInstance())
                {
                    fileFactory.Context = this.FactoryContext;
                    foreach (PlugFile file in plug.Files)
                    {
                        fileFactory.InternalUpdate(file);
                    }
                }

                using (BindablePointDefinitionFactory bindablePointDefinitionFactory = BindablePointDefinitionFactory.GetInstance())
                {
                    bindablePointDefinitionFactory.Context = this.FactoryContext;
                    foreach (BindablePointDefinition bindablePointDefinition in plug.BindablePointDefinitions)
                    {
                        bindablePointDefinitionFactory.InternalUpdate(bindablePointDefinition);
                    }
                }
                using (ClassDefinitionFactory classDefinitionFactory = ClassDefinitionFactory.GetInstance())
                {
                    classDefinitionFactory.Context = this.FactoryContext;
                    foreach (ClassDefinition classDefinition in plug.ClassDefinitions)
                    {
                        classDefinitionFactory.InternalUpdate(classDefinition);
                    }
                }
                // TODO: something else?..
                this.FactoryContext.Commit();
            }
            catch
            {
                this.FactoryContext.RollBack();
                throw;
            }
        }