internal WorkflowConverter(WorkflowExtractor extractor, RulesExtractor rulesExtractor)
        {
            if (extractor == null)
            {
                throw new ArgumentNullException("extractor");
            }

            if (rulesExtractor == null)
            {
                throw new ArgumentNullException("rulesExtractor");
            }

            _generatorsTypes = new List <GeneratorTypes>();

            if (extractor.Activities == null)
            {
                extractor.GetActivityTree();
            }

            _extractor      = extractor;
            _rulesExtractor = rulesExtractor;
        }
Ejemplo n.º 2
0
        private void ProcessWorkflow()
        {
            //TODO: Find a better way of doing this...
            if (treeLoaded == null) return;

            var inputFile = (BindItem)treeLoaded.Nodes[0].Tag;

            var outputDocument = Program.Settings.Find<DocumentSettings>();
            outputDocument.SetInstance(FileUtils.GetFileNameOnly(inputFile.Name), Environment.CurrentDirectory, OutputFormat.Docx);

            if (_assemblyResolver == null) return;

            var workflowExtractor = new WorkflowExtractor(_assemblyResolver);
            workflowExtractor.OnMessageReceived += WorkflowExtractorOnMessageReceived;
            workflowExtractor.GetActivityTree();

            RulesExtractor rulesExtractor = RulesExtractor.Create(_assemblyResolver);
            rulesExtractor.OnMessageReceived += RulesExtractorOnMessageReceived;

            using (var rulesConverter = new RulesConverter(rulesExtractor, _runAsync))
            {
                rulesConverter.OnMessageReceived += RulesConverterOnMessageReceived;
                rulesConverter.OnProcessingComplete += RulesConverterOnProcessingComplete;
            }

            using (var converter = new WorkflowConverter(workflowExtractor, rulesExtractor))
            {
                converter.OnMessageReceived += ConverterOnMessageReceived;
                converter.OnProcessingComplete += ConverterOnProcessingComplete;

                converter.AddOutput<Generators.Workflow.WfDocGenerator>(outputDocument);
                converter.Generate();
            }
        }