Example #1
0
 // Agregamos la informacion del modulo
 public ModuleInfo(string name, Type moduleType)
 {
     // Si el modulo que se quiere agregar no desciende de BaseModule generar error
     if (!moduleType.IsSubclassOf(typeof(BaseModule)))
     {
         throw new ArgumentException("La clase no desiende de ModuleBase");
     }
     this.name       = name;
     this.moduleType = moduleType;
     this.module     = null;
 }
Example #2
0
 // Metodo para ejectutar el procedimiento asignado a la accion del modulo activo
 public static void PerformAction(object key, object sender, EventArgs e)
 {
     // Evaluamos que el modulo actual sea diferente de null
     if (ModuleInfoCollection.CurrentModuleInfo != null)
     {
         BaseModule module = ModuleInfoCollection.CurrentModuleInfo.Module;
         // Ejecutamos el procedimiento asignado
         module.Actions.PerformModuleAction(key, sender, e);
         // Una vez ejecutado el procedimiento reactualizamos el estado de las acciones del modulo
         module.UpdateActions();
     }
 }
Example #3
0
 // Creamos la instancia del modulo
 protected void CreateModule()
 {
     // Validamos que el modulo no este activo
     if (this.module == null)
     {
         ConstructorInfo constructorInfoObj = moduleType.GetConstructor(Type.EmptyTypes);
         if (constructorInfoObj == null)
         {
             throw new ApplicationException(moduleType.FullName + " doesn't have a public constructor with empty parameters");
         }
         this.module = constructorInfoObj.Invoke(null) as BaseModule;
     }
 }
Example #4
0
 // Cerramos el modulo
 public void Close()
 {
     // Destruimos la instancia del modulo para que se pueda volver abrir
     module = null;
 }