public PluginActivityOptionsBuilder HasActivity <T>(string name, string group) where T : CodeActivity
        {
            var typeReg = new PluginTypeRegistration(PluginAssemblyRegistration, typeof(T), name, group);

            PluginAssemblyRegistration.PluginTypeRegistrations.Add(typeReg);
            return(new PluginActivityOptionsBuilder(this, typeReg));
        }
 public PluginStepRegistration(PluginTypeRegistration pluginTypeRegistration, string sdkMessageName, string primaryEntityName, string secondaryEntityName = "")
 {
     PluginTypeRegistration   = pluginTypeRegistration;
     SdkMessageProcessingStep = new SdkMessageProcessingStep();
     SdkMessageName           = sdkMessageName;
     PluginTypeRegistration.PluginType.PropertyChanged             += PluginType_PropertyChanged;
     SdkMessageProcessingStep.plugintype_sdkmessageprocessingstep   = pluginTypeRegistration.PluginType;
     SdkMessageProcessingStep.plugintypeid_sdkmessageprocessingstep = pluginTypeRegistration.PluginType;
     PrimaryEntityName   = primaryEntityName;
     SecondaryEntityName = secondaryEntityName;
 }
        public PluginTypeOptionsBuilder HasPlugin <T>() where T : IPlugin
        {
            //var assy = PluginAssemblyRegistration.Assembly;
            //var types = assy.GetTypes().Where(i => i.IsClass && typeof(IPlugin).IsAssignableFrom(i));
            var typeReg = new PluginTypeRegistration(PluginAssemblyRegistration, typeof(T));

            PluginAssemblyRegistration.PluginTypeRegistrations.Add(typeReg);
            var builder = new PluginTypeOptionsBuilder(this, typeReg);

            return(builder);
        }
 public PluginStepRegistration(PluginTypeRegistration pluginTypeRegistration, string sdkMessageName, string primaryEntityName, string secondaryEntityName = "", string config = "")
 {
     PluginTypeRegistration = pluginTypeRegistration;
     SdkMessageProcessingStep = new SdkMessageProcessingStep();
     SdkMessageName = sdkMessageName;
     PluginTypeRegistration.PluginType.PropertyChanged += PluginType_PropertyChanged;
     SdkMessageProcessingStep.plugintype_sdkmessageprocessingstep = pluginTypeRegistration.PluginType;
     SdkMessageProcessingStep.plugintypeid_sdkmessageprocessingstep = pluginTypeRegistration.PluginType;
     SdkMessageProcessingStep.Name = primaryEntityName == "none"
         ? $"{sdkMessageName}"
         : $"{sdkMessageName} on {primaryEntityName}";
     PrimaryEntityName = primaryEntityName;
     SecondaryEntityName = secondaryEntityName;
     Config = config;
 }
        public PluginAssemblyOptionsBuilder DiscoverPluginTypes()
        {
            var assy  = PluginAssemblyRegistration.Assembly;
            var types = assy.GetTypes().Where(i => i.IsClass && typeof(IPlugin).IsAssignableFrom(i));

            foreach (var type in types)
            {
                var typeReg = new PluginTypeRegistration(PluginAssemblyRegistration, type);
                this.PluginAssemblyRegistration.PluginTypeRegistrations.Add(typeReg);
            }

            return(this);

            //  return true;
        }
        public PluginAssemblyOptionsBuilder DiscoverPluginTypes(Action <PluginTypeOptionsBuilder, Type> configurePluginTypeCallback)
        {
            var assy  = PluginAssemblyRegistration.Assembly;
            var types = assy.GetTypes().Where(i => i.IsClass && typeof(IPlugin).IsAssignableFrom(i));

            foreach (var type in types)
            {
                var typeReg = new PluginTypeRegistration(PluginAssemblyRegistration, type);
                this.PluginAssemblyRegistration.PluginTypeRegistrations.Add(typeReg);
                if (configurePluginTypeCallback != null)
                {
                    var builder = new PluginTypeOptionsBuilder(this, typeReg);
                    configurePluginTypeCallback(builder, typeReg.Type);
                }
            }

            return(this);

            //  return true;
        }
 public PluginStepRegistration(PluginTypeRegistration pluginTypeRegistration, SdkMessageNames sdkMessageName, string primaryEntityName, string secondaryEntityName = "", string config = "")
     : this(pluginTypeRegistration, sdkMessageName.ToString(), primaryEntityName, secondaryEntityName, config)
 {
 }
 public PluginTypeOptionsBuilder(PluginAssemblyOptionsBuilder pluginAssemblyOptionsBuilder, PluginTypeRegistration pluginTypeRegistration)
 {
     PluginAssemblyOptions  = pluginAssemblyOptionsBuilder;
     PluginTypeRegistration = pluginTypeRegistration;
 }
 public PluginStepRegistration(PluginTypeRegistration pluginTypeRegistration, SdkMessageNames sdkMessageName, string primaryEntityName, string secondaryEntityName = "")
     : this(pluginTypeRegistration, sdkMessageName.ToString(), primaryEntityName, secondaryEntityName)
 {
 }
예제 #10
0
 public PluginStepRegistration(PluginTypeRegistration pluginTypeRegistration, StepConfiguration configuration)
     : this(pluginTypeRegistration, configuration.SdkMessageNames.ToString(), configuration.PrimaryEntityName, configuration.SecondaryEntityName)
 {
     SdkMessageProcessingStep.FilteringAttributes = configuration.FilteringAttributes;
 }
 public PluginTypeOptionsBuilder(PluginAssemblyOptionsBuilder pluginAssemblyOptionsBuilder, PluginTypeRegistration pluginTypeRegistration)
 {
     PluginAssemblyOptions = pluginAssemblyOptionsBuilder;
     PluginTypeRegistration = pluginTypeRegistration;
 }