Ejemplo n.º 1
0
        public override void RegisterPlug(ITransactionContext context)
        {
            Console.WriteLine("Installing AbstractUI.Context");
            FileTransaction trans = new FileTransaction();

            trans.BeginTransaction();

            PlugLocationFactory plugLocFactory = PlugLocationFactory.GetInstance();

            plugLocFactory.Context = context as ISqlTransactionContext;
            string EXEC_DIR = new PlugLocationController(context).LoadByName("EXECUTABLE_DIR").PlugLocationPath;

            PlugIn plug = new PlugIn();

            plug.PlugName         = "Interlogic.Trainings.Plugs.AbstractUI.Context";
            plug.PlugVersion      = "0.0.0.1";
            plug.PlugFriendlyName = "AbstractUI.Context";
            plug.PlugDescription  = "AbstractUI.Context Interfaces";
            plug.Active           = true;

            PlugFile file = new PlugFile();

            file.PlugFileName         = "Interlogic.Trainings.Plugs.AbstractUI.Context.dll";
            file.RelativeIncomingPath = @"..\..\..\Interlogic.Trainings.Plugs.AbstractUI.Context\bin\Debug";
            file.DestinationPath      = "EXECUTABLE_DIR";
            plug.Files.Add(file);
            trans.AddAction(new CopyFileAction(Path.Combine(file.RelativeIncomingPath, file.PlugFileName), Path.Combine(EXEC_DIR, file.PlugFileName), true));

            file = new PlugFile();
            file.PlugFileName         = "Interlogic.Trainings.Plugs.AbstractUI.Context.pdb";
            file.RelativeIncomingPath = @"..\..\..\Interlogic.Trainings.Plugs.AbstractUI.Context\bin\Debug";
            file.DestinationPath      = "EXECUTABLE_DIR";
            plug.Files.Add(file);
            trans.AddAction(new CopyFileAction(Path.Combine(file.RelativeIncomingPath, file.PlugFileName), Path.Combine(EXEC_DIR, file.PlugFileName), true));

            try
            {
                trans.Execute();
                trans.Commit();
                PlugInController plugController = new PlugInController(context);
                plugController.InsertAll(plug);
            }
            catch (Exception e)
            {
                Console.WriteLine("AbstractUI.Context installation failed");
                trans.RollBack();
                throw new Exception("AbstractUI.Context Installation Process Failed!", e);
            }
            Console.WriteLine("AbstractUI.Context successfully installed");
        }
Ejemplo n.º 2
0
        public override void RegisterPlug(ITransactionContext context)
        {
            FileTransaction trans = new FileTransaction();

            trans.BeginTransaction();

            PlugLocationFactory plugLocFactory = PlugLocationFactory.GetInstance();

            plugLocFactory.Context = context as ISqlTransactionContext;
            string EXEC_DIR = new PlugLocationController(context).LoadByName("EXECUTABLE_DIR").PlugLocationPath;

            PlugIn plug = new PlugIn();

            plug.PlugName         = "Interlogic.Trainings.Plugs.AbstractUI";
            plug.PlugVersion      = "0.0.0.1";
            plug.PlugFriendlyName = "AbstractUI";
            plug.PlugDescription  = "AbstractUI Interfaces";
            plug.Active           = true;

            PlugFile file = new PlugFile();

            file.PlugFileName         = "Interlogic.Trainings.Plugs.AbstractUI.dll";
            file.RelativeIncomingPath = @"..\..\..\Interlogic.Trainings.Plugs.AbstractUI\bin\Debug";
            file.DestinationPath      = "EXECUTABLE_DIR";
            plug.Files.Add(file);
            trans.AddAction(new CopyFileAction(Path.Combine(file.RelativeIncomingPath, file.PlugFileName), Path.Combine(EXEC_DIR, file.PlugFileName), true));

            file = new PlugFile();
            file.PlugFileName         = "Interlogic.Trainings.Plugs.AbstractUI.pdb";
            file.RelativeIncomingPath = @"..\..\..\Interlogic.Trainings.Plugs.AbstractUI\bin\Debug";
            file.DestinationPath      = "EXECUTABLE_DIR";
            plug.Files.Add(file);
            trans.AddAction(new CopyFileAction(Path.Combine(file.RelativeIncomingPath, file.PlugFileName), Path.Combine(EXEC_DIR, file.PlugFileName), true));

            ClassDefinition classDef = new ClassDefinition();

            classDef.Active    = true;
            classDef.ClassName = "Interlogic.Trainings.Plugs.AbstractUI.IAbstractComponent";
            classDef.FileName  = "Interlogic.Trainings.Plugs.AbstractUI.dll";
            classDef.ClassDefinitionDescription = "IAbstractComponent public interface";
            plug.ClassDefinitions.Add(classDef);

            classDef           = new ClassDefinition();
            classDef.Active    = true;
            classDef.ClassName = "Interlogic.Trainings.Plugs.AbstractUI.IAbstractContainer";
            classDef.FileName  = "Interlogic.Trainings.Plugs.AbstractUI.dll";
            classDef.ClassDefinitionDescription = "IAbstractContainer public interface";
            plug.ClassDefinitions.Add(classDef);

            classDef           = new ClassDefinition();
            classDef.Active    = true;
            classDef.ClassName = "Interlogic.Trainings.Plugs.AbstractUI.INavigationComponent";
            classDef.FileName  = "Interlogic.Trainings.Plugs.AbstractUI.dll";
            classDef.ClassDefinitionDescription = "INavigationComponent public interface";
            plug.ClassDefinitions.Add(classDef);

            classDef           = new ClassDefinition();
            classDef.Active    = true;
            classDef.ClassName = "Interlogic.Trainings.Plugs.AbstractUI.INavigationListenerComponent";
            classDef.FileName  = "Interlogic.Trainings.Plugs.AbstractUI.dll";
            classDef.ClassDefinitionDescription = "INavigationListenerComponent public interface";
            plug.ClassDefinitions.Add(classDef);

            BindablePointDefinition bpd = new BindablePointDefinition();

            bpd.BindablePointName         = AbstractUiConstants.IAbstractUiContainer_Controls_BindingPointName;
            bpd.BindablePointFriendlyName = AbstractUiConstants.IAbstractUiContainer_Controls_BindingPointName;
            bpd.ClassDefinitionName       = "Interlogic.Trainings.Plugs.AbstractUI.IAbstractContainer";
            plug.BindablePointDefinitions.Add(bpd);

            bpd = new BindablePointDefinition();
            bpd.BindablePointName         = AbstractUiConstants.IAbstractUiNavigationControl_NavigationListeners_BindingPointName;
            bpd.BindablePointFriendlyName = AbstractUiConstants.IAbstractUiNavigationControl_NavigationListeners_BindingPointName;
            bpd.ClassDefinitionName       = "Interlogic.Trainings.Plugs.AbstractUI.INavigationComponent";
            plug.BindablePointDefinitions.Add(bpd);

            try
            {
                trans.Execute();
                trans.Commit();
                PlugInController plugController = new PlugInController(context);
                plugController.InsertAll(plug);
            }
            catch (Exception e)
            {
                trans.RollBack();
                throw new Exception("AbstractUI Installation Process Failed!", e);
            }
        }