Ejemplo n.º 1
0
        public bool OnCodeActivityAdded()
        {
            CodeActivity codeActivity = new CodeActivity();

            ActivityProperties activityPropertiesForm = new ActivityProperties();

            activityPropertiesForm.ShowDialog();
            if (activityPropertiesForm.Result == DialogResult.OK)
            {
                foreach (Activity activity in this.rootActivity.Activities)
                {
                    if (activity.Name.Equals(activityPropertiesForm.ActivityName, StringComparison.OrdinalIgnoreCase))
                    {
                        MessageBox.Show(this.parent, "Cannot add new CodeActivity. The CodeActivity with name '" + activityPropertiesForm.ActivityName + "' already exists.", this.parent.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(false);
                    }
                }

                codeActivity.Name        = activityPropertiesForm.ActivityName;
                codeActivity.Description = activityPropertiesForm.Description;

                this.rootActivity.Activities.Add(codeActivity);
                this.designerHost.RootComponent.Site.Container.Add(codeActivity);
                this.workflowView.Update();
            }

            return(true);
        }
Ejemplo n.º 2
0
        private void miCreateSequentialWorkflow_Click(object sender, EventArgs e)
        {
            // create a new sequential workflow
            WorkflowInstance workflowInstance = SampleWorkflowRuntime.Current.CreateSequentialWorkflow();

            if (_options.WorkflowSettings.ModifySequentialWorkflow)
            {
                Activity        rootActivity    = workflowInstance.GetWorkflowDefinition();
                WorkflowChanges workflowChanges = new WorkflowChanges(rootActivity);

                // modify the workflow
                Activity          activityToRemove = workflowChanges.TransientWorkflow.GetActivityByName("codeActivity3");
                CompositeActivity parentActivity   = activityToRemove.Parent;

                parentActivity.Activities.Remove(activityToRemove);

                CodeActivity codeActivity = new CodeActivity("TestChangeActivity");
                codeActivity.ExecuteCode +=
                    delegate { Trace.WriteLine("Test Change Activity executed..."); };

                parentActivity.Activities.Add(codeActivity);

                workflowInstance.ApplyWorkflowChanges(workflowChanges);
            }

            workflowInstance.Start();

            SampleWorkflowRuntime.Current.RunWorkflow(workflowInstance.InstanceId);
        }
Ejemplo n.º 3
0
        private void btnCreateSequentialWorkflow_Click(Object sender, EventArgs e)
        {
            ConnectionStringSettings persistenceConnectionString = cboPersistenceService.SelectedItem as ConnectionStringSettings;
            ConnectionStringSettings trackingConnectionString    = cboTrackingService.SelectedItem as ConnectionStringSettings;

            if (persistenceConnectionString == null)
            {
                MessageBox.Show("No connection string selected for persistence service.", "WFTools Samples",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);

                return;
            }

            String workflowRuntimeKey = String.Format("{0}_{1}_{2}",
                                                      persistenceConnectionString.Name,
                                                      trackingConnectionString == null ? "None" : trackingConnectionString.Name,
                                                      chkUseLocalTransactions.Checked);

            SampleWorkFlowRuntime workflowRuntime;

            if (!this.loadedWorkflowRuntimes.TryGetValue(workflowRuntimeKey, out workflowRuntime))
            {
                workflowRuntime = new SampleWorkFlowRuntime(persistenceConnectionString,
                                                            trackingConnectionString, chkUseLocalTransactions.Checked);

                workflowRuntime.WorkflowTerminated          += workflowRuntime_WorkflowTerminated;
                workflowRuntime.ServicesExceptionNotHandled += workflowRuntime_ServicesExceptionNotHandled;

                this.loadedWorkflowRuntimes.Add(workflowRuntimeKey, workflowRuntime);
            }

            // create a new sequential workflow
            WorkflowInstance workflowInstance = workflowRuntime.CreateSequentialWorkflow();

            if (chkModifyWorkflow.Checked)
            {
                Activity        rootActivity    = workflowInstance.GetWorkflowDefinition();
                WorkflowChanges workflowChanges = new WorkflowChanges(rootActivity);

                // modify the workflow
                Activity          activityToRemove = workflowChanges.TransientWorkflow.GetActivityByName("codeActivity3");
                CompositeActivity parentActivity   = activityToRemove.Parent;

                parentActivity.Activities.Remove(activityToRemove);

                CodeActivity codeActivity = new CodeActivity("TestChangeActivity");
                codeActivity.ExecuteCode +=
                    delegate { Trace.WriteLine("Test Change Activity executed..."); };

                parentActivity.Activities.Add(codeActivity);

                workflowInstance.ApplyWorkflowChanges(workflowChanges);
            }

            workflowInstance.Start();

            ManualWorkflowSchedulerService schedulerService = workflowRuntime.GetService <ManualWorkflowSchedulerService>();

            schedulerService.RunWorkflow(workflowInstance.InstanceId);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Executes the workflow.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns>IDictionary&lt;System.String, System.Object&gt;.</returns>
        /// <exception cref="System.Exception">Error invoking workflow</exception>
        public IDictionary <string, object> Execute <T>()
        {
            IOrganizationService service = LiveOrganizationService ?? _serviceMock.Object;

            _factoryMock.Setup(t => t.CreateOrganizationService(It.IsAny <Guid>())).Returns(service);
            IOrganizationServiceFactory factory = _factoryMock.Object;

            CreateWorkflowContext();

            IWorkflowContext workflowContext = _workflowContextMock.Object;

            _serviceProviderMock.Setup(t => t.GetService(It.Is <Type>(i => i == typeof(ITracingService)))).Returns(FakeTracingService);
            _serviceProviderMock.Setup(t => t.GetService(It.Is <Type>(i => i == typeof(IOrganizationServiceFactory)))).Returns(factory);
            _serviceProviderMock.Setup(t => t.GetService(It.Is <Type>(i => i == typeof(IPluginExecutionContext)))).Returns(workflowContext);

            CodeActivity testClass = Activator.CreateInstance(typeof(T)) as CodeActivity;

            if (testClass == null)
            {
                throw new Exception("Error invoking workflow");
            }

            WorkflowInvoker invoker = new WorkflowInvoker(testClass);

            invoker.Extensions.Add(() => FakeTracingService);
            invoker.Extensions.Add(() => workflowContext);
            invoker.Extensions.Add(() => factory);

            return(invoker.Invoke(workflowContext.InputParameters.ToDictionary(t => t.Key, t => t.Value)));
        }
Ejemplo n.º 5
0
            public WorkFlowDataBinding()
            {
                IfElseActivity       ifelse_activity   = new IfElseActivity();
                IfElseBranchActivity branch1           = new IfElseBranchActivity();
                IfElseBranchActivity branch2           = new IfElseBranchActivity();
                CodeCondition        ifelse_condition1 = new CodeCondition();
                CodeActivity         code_branch1      = new CodeActivity();
                ourCodeActivity      code_branch2      = new ourCodeActivity();

                code_branch1.Name         = "Code1";
                code_branch2.Name         = "Code2";
                code_branch1.ExecuteCode += new EventHandler(ExecuteCode1);

                branch1.Activities.Add(code_branch1);
                branch2.Activities.Add(code_branch2);

                ifelse_condition1.Condition += new EventHandler <ConditionalEventArgs> (IfElseCondition1);
                branch1.Condition            = ifelse_condition1;

                ifelse_activity.Activities.Add(branch1);
                ifelse_activity.Activities.Add(branch2);

                ActivityBind activitybind1 = new ActivityBind();

                activitybind1.Name = "WorkFlowDataBinding";
                activitybind1.Path = "Address";

                //Console.WriteLine ("DependecyParent {0}", this.GetType ().FullName);
                code_branch2.SetBinding(ourCodeActivity.DataProperty, activitybind1);
                Activities.Add(ifelse_activity);
            }
Ejemplo n.º 6
0
        // Loads precreated workflow. The function is similar to the above function except
        // instead of creating an empty workflow we create workflow with contents
        internal void LoadDefaultWorkflow()
        {
            Clear();

            this.designSurface = new WorkflowDesignSurface(this);
            WorkflowLoader loader = new WorkflowLoader();

            this.designSurface.BeginLoad(loader);

            this.designerHost = GetService(typeof(IDesignerHost)) as IDesignerHost;
            if (this.designerHost != null)
            {
                this.rootActivity      = (SequentialWorkflowActivity)this.designerHost.CreateComponent(typeof(SequentialWorkflowActivity));
                this.rootActivity.Name = "Service1";

                CodeActivity codeActivity1 = new CodeActivity();
                this.rootActivity.Activities.Add(codeActivity1);
                this.designerHost.RootComponent.Site.Container.Add(codeActivity1);

                this.workflowView = new WorkflowView(this.designSurface as IServiceProvider);
                this.workflowView.AddDesignerMessageFilter(new CustomMessageFilter(this.designSurface as IServiceProvider, this.workflowView, loader));

                Controls.Add(this.workflowView);
                this.designerHost.Activate();

                ISelectionService selectionService = (ISelectionService)GetService(typeof(ISelectionService));
                if (selectionService != null)
                {
                    selectionService.SelectionChanged += new EventHandler(OnSelectionChanged);
                    IComponent[] selection = new IComponent[] { rootActivity };
                    selectionService.SetSelectedComponents(selection);
                }
            }
        }
Ejemplo n.º 7
0
        void Container4()
        {
            //ReceiveActivity.ServiceOperationInfo
            //<snippet4>
            ReceiveActivity          receiveQuoteFromShipper1  = new ReceiveActivity();
            CodeActivity             shipper1ShippingQuote     = new CodeActivity();
            ContextToken             contextToken1             = new ContextToken();
            ActivityBind             activityBind1             = new ActivityBind();
            WorkflowParameterBinding workflowParameterBinding1 = new WorkflowParameterBinding();
            TypedOperationInfo       typedOperationInfo1       = new TypedOperationInfo();

            receiveQuoteFromShipper1.Activities.Add(shipper1ShippingQuote);
            contextToken1.Name = "Shipper1Context";
            contextToken1.OwnerActivityName       = "GetShippingQuotes";
            receiveQuoteFromShipper1.ContextToken = contextToken1;
            receiveQuoteFromShipper1.Name         = "receiveQuoteFromShipper1";
            activityBind1.Name = "SupplierWorkflow";
            activityBind1.Path = "quoteShipper1";
            workflowParameterBinding1.ParameterName = "quote";
            workflowParameterBinding1.SetBinding(WorkflowParameterBinding.ValueProperty, ((ActivityBind)(activityBind1)));
            receiveQuoteFromShipper1.ParameterBindings.Add(workflowParameterBinding1);
            typedOperationInfo1.ContractType = typeof(IShippingQuote);
            typedOperationInfo1.Name         = "ShippingQuote";
            receiveQuoteFromShipper1.ServiceOperationInfo = typedOperationInfo1;
            //</snippet4>
        }
Ejemplo n.º 8
0
        public WorkFlowIfElseRule()
        {
            IfElseActivity ifelse_activity = new IfElseActivity();

            branch1 = new IfElseBranchActivity();

            CodeActivity code_branch1 = new CodeActivity();
            CodeActivity code_branch2 = new CodeActivity();

            branch2 = new IfElseBranchActivity();

            code_branch1.Name         = "Code1";
            code_branch2.Name         = "Code2";
            code_branch1.ExecuteCode += new EventHandler(ExecuteCode1);
            code_branch2.ExecuteCode += new EventHandler(ExecuteCode2);

            branch1.Activities.Add(code_branch1);
            branch2.Activities.Add(code_branch2);

            RuleConditionReference condition1 = new RuleConditionReference();

            condition1.ConditionName = "Condition1";
            RuleExpressionCondition rc = new RuleExpressionCondition("Condition1",
                                                                     RulesBinaryOpTest.check_condition);

            definitions.Conditions.Add(rc);
            branch1.Condition = condition1;

            ifelse_activity.Activities.Add(branch1);
            ifelse_activity.Activities.Add(branch2);

            SetValue(RuleDefinitions.RuleDefinitionsProperty, definitions);
            Activities.Add(ifelse_activity);
        }
Ejemplo n.º 9
0
        public WorkFlowIfElse()
        {
            IfElseActivity       ifelse_activity   = new IfElseActivity();
            IfElseBranchActivity branch1           = new IfElseBranchActivity();
            CodeCondition        ifelse_condition1 = new CodeCondition();
            CodeActivity         code_branch1      = new CodeActivity();
            CodeActivity         code_branch2      = new CodeActivity();

            branch2 = new IfElseBranchActivity();

            code_branch1.Name         = "Code1";
            code_branch2.Name         = "Code2";
            code_branch1.ExecuteCode += new EventHandler(ExecuteCode1);
            code_branch2.ExecuteCode += new EventHandler(ExecuteCode2);

            branch1.Activities.Add(code_branch1);
            branch2.Activities.Add(code_branch2);

            ifelse_condition1.Condition += new EventHandler <ConditionalEventArgs> (IfElseCondition1);
            branch1.Condition            = ifelse_condition1;

            ifelse_activity.Activities.Add(branch1);
            ifelse_activity.Activities.Add(branch2);

            Activities.Add(ifelse_activity);
        }
Ejemplo n.º 10
0
        public SequentialWorkflow()
        {
            CodeActivity code = new CodeActivity();

            code.ExecuteCode += OnCodeExecute;
            Activities.Add(code);
        }
Ejemplo n.º 11
0
        public WorkFlowIfElse()
        {
            IfElseActivity       ifelse_activity   = new IfElseActivity();
            IfElseBranchActivity branch1           = new IfElseBranchActivity();
            CodeCondition        ifelse_condition1 = new CodeCondition();
            DelayActivity        delay_activity    = new DelayActivity();
            CodeActivity         code_branch1      = new CodeActivity();
            CodeActivity         code_branch2      = new CodeActivity();

            branch2 = new IfElseBranchActivity();

            delay_activity.Name                       = "DelayActivity";
            delay_activity.TimeoutDuration            = TimeSpan.Parse("00:00:05");
            delay_activity.InitializeTimeoutDuration += new EventHandler(DelayActivity_InitializeTimeoutDuration);

            code_branch1.Name         = "Code1";
            code_branch2.Name         = "Code2";
            code_branch1.ExecuteCode += new EventHandler(ExecuteCode1);
            code_branch2.ExecuteCode += new EventHandler(ExecuteCode2);

            branch1.Activities.Add(code_branch1);
            branch2.Activities.Add(code_branch2);

            ifelse_condition1.Condition += new EventHandler <ConditionalEventArgs> (IfElseCondition1);
            branch1.Condition            = ifelse_condition1;

            ifelse_activity.Activities.Add(branch1);
            ifelse_activity.Activities.Add(branch2);

            Activities.Add(delay_activity);
            Activities.Add(ifelse_activity);
        }
Ejemplo n.º 12
0
        public DLaBExtendedWorkflowContext(CodeActivityContext executionContext, CodeActivity codeActivity, IExtendedWorkflowContextInitializer settings = null)
        {
            CodeActivityContext  = executionContext;
            CodeActivityTypeName = codeActivity.GetType().FullName;

            Settings = settings ?? new DLaBExtendedWorkflowContextSettings();
        }
Ejemplo n.º 13
0
 private void InitializeComponent()
 {
     this.CanModifyActivities = true;
     this.code1  = new System.Workflow.Activities.CodeActivity();
     this.delay1 = new System.Workflow.Activities.DelayActivity();
     this.code2  = new System.Workflow.Activities.CodeActivity();
     //
     // code1
     //
     this.code1.Name         = "code1";
     this.code1.ExecuteCode += new System.EventHandler(this.OnCode1ExecuteCode);
     //
     // delay1
     //
     this.delay1.Name            = "delay1";
     this.delay1.TimeoutDuration = System.TimeSpan.Parse("00:00:05");
     //
     // code2
     //
     this.code2.Name         = "code2";
     this.code2.ExecuteCode += new System.EventHandler(this.OnCode2ExecuteCode);
     //
     // DelayWorkflow
     //
     this.Activities.Add(this.code1);
     this.Activities.Add(this.delay1);
     this.Activities.Add(this.code2);
     this.Name = "PersistenceServicesWorkflow";
     this.CanModifyActivities = false;
 }
Ejemplo n.º 14
0
        public SimpleWorkFlow()
        {
            CodeActivity ca1 = new CodeActivity();

            ca1.ExecuteCode += new EventHandler(ExecuteCode1);
            ca1.ExecuteCode += new EventHandler(ExecuteCode2);
            Activities.Add(ca1);
        }
Ejemplo n.º 15
0
        public void Default(string alg)
        {
            CodeActivity <IEncryption> handler = null;

            switch (alg)
            {
            case nameof(AesAlgorithmEncryption):
                handler = new AesAlgorithmEncryption();
                break;

            case nameof(DESAlgorithmEncryption):
                handler = new DESAlgorithmEncryption();
                break;

            case nameof(RC2AlgorithmEncryption):
                handler = new RC2AlgorithmEncryption();
                break;

            case nameof(RijndaelAlgorithmEncryption):
                handler = new RijndaelAlgorithmEncryption();
                break;

            case nameof(TripleDESAlgorithmEncryption):
                handler = new TripleDESAlgorithmEncryption();
                break;

#if NET5_0
            case nameof(AesGcmAlgorithmEncryption):
                handler = new AesGcmAlgorithmEncryption();
                break;
#endif
            }

            var text         = Guid.NewGuid().ToString();
            var secureString = new NetworkCredential("", CryptoKey).SecurePassword;

            var activity = new TextEncryption()
            {
                Algorithm = new ActivityFunc <IEncryption>()
                {
                    Handler = handler
                },
                Key = new InArgument <SecureString>(_ => secureString)
            };

            var encrypted = WorkflowTester.CompileAndInvoke(activity, GetArgs(text));
            Assert.IsNotNull(encrypted);
            Assert.AreNotEqual(text, encrypted);

            activity.Action = Core.Enums.CryptoActions.Decrypt;
            var decrypted = WorkflowTester.CompileAndInvoke(activity, GetArgs(encrypted));
            Assert.IsNotNull(decrypted);
            Assert.AreNotEqual(encrypted, decrypted);
            Assert.AreEqual(text, decrypted);
        }
Ejemplo n.º 16
0
        public void GetActivityByNameAndParent()
        {
            SequentialWorkflowActivity sq = new SequentialWorkflowActivity();
            IfElseActivity             ifelse_activity = new IfElseActivity();
            IfElseBranchActivity       branch1         = new IfElseBranchActivity();
            CodeActivity         code_branch1          = new CodeActivity();
            CodeActivity         code_branch2          = new CodeActivity();
            IfElseBranchActivity branch2 = new IfElseBranchActivity();
            Activity             activity;

            code_branch1.Name    = "Code1";
            code_branch2.Name    = "Code2";
            ifelse_activity.Name = "IfElse";
            sq.Name = "Root";
            branch1.Activities.Add(code_branch1);
            branch2.Activities.Add(code_branch2);
            ifelse_activity.Activities.Add(branch1);
            ifelse_activity.Activities.Add(branch2);
            sq.Activities.Add(ifelse_activity);

            // Getting Code1 activity from root
            activity = sq.GetActivityByName("Code1", true);
            Assert.AreEqual(code_branch1, activity, "C1#1");

            activity = sq.GetActivityByName("Code1", false);
            Assert.AreEqual(code_branch1, activity, "C1#2");

            // Getting Root activity from IfElse
            activity = ifelse_activity.GetActivityByName("Root", true);
            Assert.AreEqual(null, activity, "C1#3");

            activity = ifelse_activity.GetActivityByName("Root", false);
            Assert.AreEqual(sq, activity, "C1#4");

            // Getting Root activity from Code1
            activity = code_branch1.GetActivityByName("Root", true);
            Assert.AreEqual(null, activity, "C1#5");

            activity = code_branch1.GetActivityByName("Root", false);
            Assert.AreEqual(sq, activity, "C1#6");

            // Getting Ifelse activity from Code1
            activity = code_branch1.GetActivityByName("IfElse", true);
            Assert.AreEqual(null, activity, "C1#7");

            activity = code_branch2.GetActivityByName("IfElse", false);
            Assert.AreEqual(ifelse_activity, activity, "C1#8");

            // Parent checks
            Assert.AreEqual(ifelse_activity, branch1.Parent, "C1#9");
            Assert.AreEqual(ifelse_activity, branch2.Parent, "C1#10");
            Assert.AreEqual(null, sq.Parent, "C1#11");
        }
Ejemplo n.º 17
0
        public void TestClearContains()
        {
            ActivityCollection ac  = new ActivityCollection(new ParallelActivity());
            CodeActivity       ca1 = new CodeActivity();
            CodeActivity       ca2 = new CodeActivity();
            CodeActivity       ca3 = new CodeActivity();

            ac.Add(ca1);
            ac.Add(ca2);
            Assert.AreEqual(true, ac.Contains(ca2), "C2#1");
            Assert.AreEqual(false, ac.Contains(ca3), "C2#2");
            Assert.AreEqual(2, ac.Count, "C2#3");
            ac.Clear();
            Assert.AreEqual(false, ac.Contains(ca3), "C2#4");
            Assert.AreEqual(0, ac.Count, "C2#5");
        }
Ejemplo n.º 18
0
        /// <summary>
        ///  Creates a task of code activity to load grammar.
        /// </summary>
        /// <returns></returns>
        protected Task <ActivityResult> CreateCodeActivity_LoadGrammar()
        {
            Task <ActivityResult> task = null;

            try
            {
                CodeActivity codeActivity = new CodeActivity();
                codeActivity.ExecuteCode += new EventHandler(Code_PrepareGrammar);
                return(codeActivity.ExecuteAsync());
            }
            catch (ArgumentNullException exception)
            {
                base.Exception = exception;
            }
            return(task);
        }
Ejemplo n.º 19
0
        /// <summary>
        ///   Creates a task of code activity to check if contact is available.
        /// </summary>
        /// <returns></returns>
        protected Task <ActivityResult> CreateCodeActivity_CheckAvailability()
        {
            Task <ActivityResult> task = null;

            try
            {
                CodeActivity codeActivity = new CodeActivity();
                codeActivity.ExecuteCode += new EventHandler(Code_ifContactIsAvailable);
                return(codeActivity.ExecuteAsync());
            }
            catch (ArgumentNullException exception)
            {
                base.Exception = exception;
            }
            return(task);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Creates task of code activity to get the result from the answer.
        /// </summary>
        /// <returns></returns>
        public Task <ActivityResult> CreateCodeActivity_ParseResult()
        {
            Task <ActivityResult> task = null;

            try
            {
                CodeActivity codeActivity = new CodeActivity();
                codeActivity.ExecuteCode += new EventHandler(ParseResult_Execute);
                return(codeActivity.ExecuteAsync());
            }
            catch (ArgumentNullException exception)
            {
                base.Exception = exception;
            }
            return(task);
        }
Ejemplo n.º 21
0
        /// <summary>
        /// Creates a task of a code activity to parse result of question-answer(get the contact name).
        /// </summary>
        /// <returns></returns>
        protected Task <ActivityResult> CreateCodeActivity_ParseResult()
        {
            Task <ActivityResult> task = null;

            try
            {
                CodeActivity codeGetContactAcitvity = new CodeActivity();
                codeGetContactAcitvity.ExecuteCode += new EventHandler(Code_GetContactInfo);
                return(codeGetContactAcitvity.ExecuteAsync());
            }
            catch (ArgumentNullException exception)
            {
                base.Exception = exception;
            }
            return(task);
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Create  a task of code activity for creating grammars.
        /// </summary>
        /// <returns></returns>
        protected Task <ActivityResult> CreateCodeActivity_CreatePromptInputs()
        {
            Task <ActivityResult> task = null;

            try
            {
                CodeActivity codeActivity = new CodeActivity();
                codeActivity.ExecuteCode += new EventHandler(this.CreateGrammar);
                return(codeActivity.ExecuteAsync());
            }
            catch (ArgumentNullException exception)
            {
                base.Exception = exception;
            }
            return(task);
        }
Ejemplo n.º 23
0
        private void OnSelectionChanged(object sender, System.EventArgs e)
        {
            this.parent.nameTextBox.Clear();
            this.parent.descriptionTextBox.Clear();
            this.parent.nameTextBox.ReadOnly = this.parent.descriptionTextBox.ReadOnly = true;
            this.parent.updateButton.Enabled = false;

            CodeActivity codeActivity = GetSelectedActivity();

            if (codeActivity != null)
            {
                this.parent.nameTextBox.Text        = codeActivity.Name;
                this.parent.descriptionTextBox.Text = codeActivity.Description;
                this.parent.nameTextBox.ReadOnly    = this.parent.descriptionTextBox.ReadOnly = false;
                this.parent.updateButton.Enabled    = true;
            }
        }
Ejemplo n.º 24
0
 protected override bool OnKeyDown(KeyEventArgs eventArgs)
 {
     if (eventArgs.KeyCode == Keys.Delete)
     {
         ISelectionService selectionService = (ISelectionService)this.serviceProvider.GetService(typeof(ISelectionService));
         if (selectionService != null && selectionService.PrimarySelection is CodeActivity)
         {
             CodeActivity      codeActivityComponent = (CodeActivity)selectionService.PrimarySelection;
             CompositeActivity parentActivity        = codeActivityComponent.Parent;
             if (parentActivity != null)
             {
                 parentActivity.Activities.Remove(codeActivityComponent);
                 this.ParentView.Update();
             }
         }
     }
     return(true);
 }
Ejemplo n.º 25
0
 // </snippet193>
 void container1()
 {
     // <snippet194>
     this.CanModifyActivities = true;
     System.Workflow.Activities.CodeCondition codecondition1 = new System.Workflow.Activities.CodeCondition();
     this.ifElseActivity      = new System.Workflow.Activities.IfElseActivity();
     this.approveIfElseBranch = new System.Workflow.Activities.IfElseBranchActivity();
     this.rejecteIfElseBranch = new System.Workflow.Activities.IfElseBranchActivity();
     this.approve             = new System.Workflow.Activities.CodeActivity();
     this.reject = new System.Workflow.Activities.CodeActivity();
     //
     // ifElseActivity
     //
     this.ifElseActivity.Activities.Add(this.approveIfElseBranch);
     this.ifElseActivity.Activities.Add(this.rejecteIfElseBranch);
     this.ifElseActivity.Name = "ifElseActivity";
     // </snippet194>
 }
Ejemplo n.º 26
0
        public void OnCodeActivityUpdated()
        {
            CodeActivity codeActivity = GetSelectedActivity();

            if (codeActivity != null)
            {
                try
                {
                    // Using PropertyDescriptor to let a designer update the component name
                    PropertyDescriptor propertyDescriptor = TypeDescriptor.GetProperties(codeActivity)["Name"];
                    propertyDescriptor.SetValue(codeActivity, this.parent.nameTextBox.Text);
                    codeActivity.Description = this.parent.descriptionTextBox.Text;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this.parent, ex.Message, this.parent.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Ejemplo n.º 27
0
        public void TestAddRemove()
        {
            ActivityCollection ac  = new ActivityCollection(new ParallelActivity());
            CodeActivity       ca1 = new CodeActivity();
            CodeActivity       ca2 = new CodeActivity();
            CodeActivity       ca3 = new CodeActivity();

            ac.Add(ca1);
            Assert.AreEqual(1, ac.Count, "C1#1");
            ac.Add(ca2);
            Assert.AreEqual(2, ac.Count, "C1#2");
            ac.Add(ca3);
            Assert.AreEqual(3, ac.Count, "C1#3");
            ac.Remove(ca2);
            Assert.AreEqual(2, ac.Count, "C1#4");
            ac.RemoveAt(0);
            Assert.AreEqual(1, ac.Count, "C1#5");
            Assert.AreEqual(ca3, ac[0], "C1#6");
        }
Ejemplo n.º 28
0
        void Container1()
        {
            System.Workflow.Activities.CodeCondition codecondition1 = new System.Workflow.Activities.CodeCondition();

            // <snippet180>
            // <snippet181>
            // <snippet182>
            this.WhileLoop       = new System.Workflow.Activities.WhileActivity();
            this.Parallel        = new System.Workflow.Activities.ParallelActivity();
            this.Sequence1       = new System.Workflow.Activities.SequenceActivity();
            this.Sequence2       = new System.Workflow.Activities.SequenceActivity();
            this.ConsoleMessage1 = new System.Workflow.Activities.CodeActivity();
            this.ConsoleMessage2 = new System.Workflow.Activities.CodeActivity();
            //
            // WhileLoop
            //
            this.WhileLoop.Activities.Add(this.Parallel);
            codecondition1.Condition += new System.EventHandler <System.Workflow.Activities.ConditionalEventArgs>(this.WhileCondition);
            this.WhileLoop.Condition  = codecondition1;
            this.WhileLoop.Name       = "WhileLoop";
            // </snippet182>
            //
            // Parallel
            //
            this.Parallel.Activities.Add(this.Sequence1);
            this.Parallel.Activities.Add(this.Sequence2);
            this.Parallel.Name = "Parallel";
            // </snippet181>
            //
            // Sequence1
            //
            this.Sequence1.Activities.Add(this.ConsoleMessage1);
            this.Sequence1.Name = "Sequence1";
            //
            // Sequence2
            //
            this.Sequence2.Activities.Add(this.ConsoleMessage2);
            this.Sequence2.Name = "Sequence2";
            // </snippet180>
        }
Ejemplo n.º 29
0
        public SimpleWorkFlowDelay()
        {
            CanModifyActivities = true;
            CodeCondition codecondition1 = new CodeCondition();

            BackUpFile         = new CodeActivity();
            WhileFilesToBackup = new WhileActivity();
            DelaySystemReady   = new DelayActivity();

            BackUpFile.ExecuteCode += new EventHandler(BackUpFile_ExecuteCode);

            WhileFilesToBackup.Activities.Add(BackUpFile);
            codecondition1.Condition += new EventHandler <ConditionalEventArgs>(MoreFiles);

            WhileFilesToBackup.Condition = codecondition1;

            DelaySystemReady.TimeoutDuration = TimeSpan.Parse("00:00:02");

            Activities.Add(DelaySystemReady);
            Activities.Add(WhileFilesToBackup);
            Name = "SimpleWorkFlowDelay";
            CanModifyActivities = false;
        }
Ejemplo n.º 30
0
        public void TestActivitySaveLoadMethods()
        {
            CodeActivity expected = new CodeActivity("TestCode");

            byte [] serialized;
            using (MemoryStream ms = new MemoryStream()) {
                expected.Save(ms);
                ms.Position = 0L;
                serialized  = ms.ToArray();
            }

            Activity actual = null;

            using (MemoryStream ms2 = new MemoryStream(serialized)) {
                ms2.Position = 0L;
                actual       = Activity.Load(ms2, null);
            }

            Assert.IsNotNull(actual, "#C2#1");
            Assert.IsTrue(actual is CodeActivity, "#C2#2");
            Assert.AreEqual(expected.Name, actual.Name, "#C2#3");
            Assert.AreEqual(expected.QualifiedName, ((CodeActivity)actual).QualifiedName, "#C2#4");
        }