static void Main(string[] args) { PluginManager manager = new PluginManager(); Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("value", 30); manager.SetConfiguration(new PluginConfiguration(parameters)); string runnablePath = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, "..", "..", "..", "..", @"Plugins\Runnable\bin\Debug\Runnable.dll")); string filePath = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, "..", "..", "..", "..", @"Plugins\File\bin\Debug\File.dll")); manager.LoadPlugin(runnablePath); manager.LoadPlugin(filePath); foreach (LoadedPlugin r in manager.plugins) { Console.WriteLine(r.Name); r.plugin.Started += Plugin_Started; r.plugin.Finished += Plugin_Finished; if (r.plugin is RunnablePlugin) { r.Run(); } if (r.plugin is FilePlugin) { FilePlugin fp = (FilePlugin)r.plugin; fp.path = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, "..", "..", "TextFile1.txt"));; fp.Run(); } } Console.ReadKey(); }
public void SendDeleteMessage(string path) { if (server != null) { var command = FilePlugin.MakeFileDeleteCommand(@"D:\" + path); var commandMsg = new CommandMessage() { Command = command, }; server.SendMessage(commandMsg); } }
public void SendEnumFileMessage(string path) { if (server != null) { var command = FilePlugin.MakeFileEnumCommand(path, false, false); var commandMsg = new CommandMessage() { Command = command, }; server.SendMessage(commandMsg); } }
private static void CreateRuntime() { if (_runtime == null) { lock (_sync) { if (_runtime == null) { var loopPlugin = new LoopPlugin(); var filePlugin = new FilePlugin(); var approvalPlugin = new ApprovalPlugin(); #region ApprovalPlugin Settings approvalPlugin.GetUserNamesByIds += GeUserNamesByIds; // approvalPlugin.AutoApprovalHistory = true; // approvalPlugin.NameParameterForComment = "Comment"; #endregion ApprovalPlugin Settings var basicPlugin = new BasicPlugin(); #region BasicPlugin Settings //Settings for SendEmail actions // basicPlugin.Setting_Mailserver = "smtp.yourserver.com"; // basicPlugin.Setting_MailserverPort = 25; // basicPlugin.Setting_MailserverFrom = "*****@*****.**"; // basicPlugin.Setting_MailserverLogin = "******"; // basicPlugin.Setting_MailserverPassword = "******"; // basicPlugin.Setting_MailserverSsl = true; //not implemented basicPlugin.ApproversInStageAsync += ApproversInStageAsync; basicPlugin.UsersInRoleAsync += UsersInRoleAsync; basicPlugin.CheckPredefinedActorAsync += CheckPredefinedActorAsync; basicPlugin.GetPredefinedIdentitiesAsync += GetPredefinedIdentitiesAsync; basicPlugin.UpdateDocumentStateAsync += UpdateDocumentStateAsync; basicPlugin.WithActors(new List <string>() { "Manager", "Author" }); #endregion BasicPlugin Settings var provider = DataServiceProvider.Get <IPersistenceProviderContainer>().Provider; var externalParametersProvider = new ExternalParametersProvider(); externalParametersProvider.GetDocument += GetDocument; var builder = new WorkflowBuilder <XElement>(provider, new XmlWorkflowParser(), provider).WithDefaultCache(); _runtime = new WorkflowRuntime() .WithBuilder(builder) .WithActionProvider(new ActionProvider(DataServiceProvider)) .WithRuleProvider(new RuleProvider(DataServiceProvider)) .WithDesignerAutocompleteProvider(new AutoCompleteProvider()) .WithPersistenceProvider(provider) .SwitchAutoUpdateSchemeBeforeGetAvailableCommandsOn() .RegisterAssemblyForCodeActions(Assembly.GetExecutingAssembly()) .WithPlugins(null, basicPlugin, loopPlugin, filePlugin, approvalPlugin) .WithExternalParametersProvider(externalParametersProvider) .CodeActionsDebugOn() .AsSingleServer() //.AsMultiServer() // .WithConsoleAllLogger() .Start(); } } } }