.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
Easy Web
Imran Ghani
Post New Web Links

How can i access to params and args defined in parent activity from custom NativeActivity

Posted By:      Posted Date: September 20, 2010    Points: 0   Category :Windows Application
 

There is a scenario that the custom NativeActivity need to access to params or args defined in parent activity. What i have done as below

 protected override void Execute(NativeActivityContext context)

  {

   WorkflowInstanceProxy proxy = context.GetExtension<WorkflowInstanceInfo>().GetProxy();

   Activity root = proxy.WorkflowDefinition;

   Activity rootChild = WorkflowInspectionServices.GetActivities(root).ElementAt(0);

   EditingContext ec = new EditingContext();

   ModelTreeManager mtm = new ModelTreeManager(ec);

   mtm.Load(rootChild);

   ModelItem modelItem = mtm.Root;

   ModelProperty c1 = modelItem.Properties["Variables"];

   ModelItemCollection c2 = c1.Collection;

   dynamic c3 = c2[0].GetCurrentValue();

   string value = c3.Get(context);

  }

Apparently it is not possible to access to external params with local context so the error prompt "An activity can only access its own implementation variables."

My question is how to get it ? Is there another easy way to do so ?

Thanks,

Alex


be together be stro


View Complete Post


More Related Resource Links

How to assign the value of my custom activity to the variable of the parent activity?

  

How to assign the value of my custom activity to the variable of the parent activity?

The custom acticity code:

public class ExecuteService : NativeActivity
    {
        public OutArgument Result
        {
            get;
            set;
        }

        public ExecuteService()
        {
        }

        protected override void Execute(NativeActivityContext context)
        {
            //assign the value to the variable of the parent activity
        }
    }

 

The workflow Code:

static Activity CreateActivity()
        {
            var FirstName = new Variable<System.String>();

  &nbs

How to assign the value of my custom activity to the variable of the parent activity?

  

How to assign the value of my custom activity to the variable of the parent activity?

You can see the code:

public class ExecuteService : NativeActivity
{
public OutArgument Result
{
get;
set;
}

public ExecuteService()
{
}

protected override void Execute(NativeActivityContext context)
{
//assign the value to the variable of the parent activity
}
}

public class Test
{
static Activity CreateActivity()
{

//Variable
var FirstName = new Variable<System.String>();
var LastName = new Variable<System.String>();

//FlowStep
ExecuteService ExecuteServiceObject1 = new ExecuteService()
{
Result = new System.Activities.OutArgument<System.String>(FirstName)
};
FlowStep FlowStepObject1 = new FlowStep() { Action = ExecuteServiceObject1 };

ExecuteService ExecuteServiceObject2 = new ExecuteService()
{
Result = new System.Activities.OutArgument<System.String>(LastName)
};
FlowStep FlowStepObject2 = new FlowStep() { Action = ExecuteServiceObject2 };

FlowStepObject1.Next = FlowStepObject2;

//Flowchart
Flowchart FlowChartObject1 = new Flowchart()
{
Variables =
{
FirstName,

LastName
},

StartNode = FlowStepObject1,
Nodes =

Composite Control which contains arbitrary content defined in .aspx of parent and thier ViewState

  

I want to write own control which can contain other. And I want to define content of the control in the .aspx file where the control is defined. I have written such control. But now I have issue with ViewState of inner controls of my control. The following samle illustrates the issue: I defined two asp:DropDownList ID="ddl1" and ID="ddl2" One of them is inside of my control and other is outside. When posback is occurred asp:DropDownList ID="ddl1 loses state and becomes empty. How to say ASP.net to store state of inner controls defined by this way?

MyControl.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyControl.ascx.cs" Inherits="DynamicControls.Controls.MyControl" %>

<div class="box">
    <div class="Header-Left">
        <div class="Header-Right">
            My Control
        </div>
    </div>
    <div class="Content">
        <asp:PlaceHolder ID="contentPlace" runat="Server" />
    </div>
&

ADO.NET: Building a Custom Data Provider for Use with the .NET Data Access Framework

  

The System.Data.dll assembly in the .NET Framework contains namespaces whose base classes can be used to create custom data providers. These namespaces also define a number of data access interfaces and base classes that let developers create data providers that will interoperate with other custom providers. Using the ADO.NET classes Connection, Command, DataReader, and DataAdapter, writing a provider is easier than writing one for OLE DB. This article explains these classes and their implementation, and how they can be used to write a variety of different kinds of data providers.

Bob Beauchemin

MSDN Magazine December 2001


InfoPath and Access - two parent tables and one child table

  

Hi there,

I'm trying to link an InfoPath form to an Access database, I want to connect the InfoPath form to 3 tables in the Access database but InfoPath will only recognise parent-child relationships in a series (e.g. the "Company" table is the parent to the "Customer" table, which is again parent to the "Orders" table)

I need to have two parent tables and one child table, though (e.g. "Customer" is parent to "Orders", but "Inventory_Item" is also parent to "Orders"). Is there any way to establish this in InfoPath? I'm using Windows XP, InfoPath 2007 and Access 2007.

Cheers, Patrick


Creating a Validator class for a custom activity

  
I created a new Workflow Activity Library and then added a new Activity called BindForm2Activity. After that I added a new class called BindForm2Validator and then placed an attribute to the BindForm2Activity to link it to the validator class.   Here is the code for each of the classes:   BindForm2Activity.xoml.cs: Code Snippet   using System;using System.ComponentModel;using System.ComponentModel.Design;using System.Collections;using System.Drawing;using System.Linq;using System.Workflow.ComponentModel.Compiler;using System.Workflow.ComponentModel.Serialization;using System.Workflow.ComponentModel;using System.Workflow.ComponentModel.Design;using System.Workflow.Runtime;using System.Workflow.Activities;using System.Workflow.Activities.Rules; using FormsCollection;using Utils; namespace ActivityLibrary{    [ActivityValidator(typeof(BindForm2Validator))] public partial class BindForm2Activity : SequenceActivity {        public static DependencyProperty FormToBindProperty = System.Workflow.ComponentModel.DependencyProperty.Register("FormToBind", typeof(FormsCollection.Form2), typeof(BindForm2Activity));         [Description("Form to bind a datasource to it ")]        [Category("BindForm2ToDataSource")]        [Browsable(true)]        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]        public FormsCollection.Form2 Form

Sign outgoing body from client with custom endpoing behavior defined in code

  
I'm trying to sign (and sign only) the body of every outgoing message that uses this custom endpoint behavior.  When I first created this it was for signing a custom SOAP header.  We are moving away from that and going to just sign the body.  We have some applications that have 10+ web service references.  We don't want to touch the reference.cs for anything.  Below is the code I had before for signing the custom soap header.  I'm trying to modify it to just sign the body.  My modified code is below, and the error I get. Private Class CustomHeaderBehavior Implements ServiceModel.Description.IEndpointBehavior Public Sub New() End Sub Private Sub AddBindingParameters( _ ByVal endpoint As ServiceModel.Description.ServiceEndpoint, _ ByVal bindingParameters As ServiceModel.Channels.BindingParameterCollection) _ Implements ServiceModel.Description.IEndpointBehavior.AddBindingParameters Dim body As New Xml.XmlQualifiedName("Body", "http://schemas.xmlsoap.org/soap/envelope/") Dim BodyMsgPartSpec As New ServiceModel.Security.MessagePartSpecification() BodyMsgPartSpec.IsBodyIncluded = True Dim requirements As ServiceModel.Security.ChannelProtectionRequirements = bindingParameters.Remove(Of ServiceModel.Security.ChannelProtectionRequirements)() requirements

How to get this.Parent in execute method of activity.

  
Hi, Inside execute "protected override void Execute" of the NativeActivity i want to get its parent.    protected override void Execute     (     NativeActivityContext context     )       { this.Parent Actually my problem is that i want to check if this activity is in sequence or parallel during execution. Please help me.    ilogik

Freeform Custom Activity Designers using ICompositeView

  
Hello,   I'm using code posted here http://blogs.msdn.com/b/tilovell/archive/2009/12/31/freeform-custom-activity-designers-using-icompositeview.aspx hosted in a designer taken from Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4( UsingWorkflowItemPresenter.sln). However, I can't drag & drop Activity1 given as sample into Canvas or any other kind of activity for that matter. Could you tell me what I'm doing wrong, please? Also, I would like to know how I could make the Canvas activity fill the WorkflowDesigner and not being able to be deleted. Thank you

How to Prevent the expand/collapse behaviour of my Custom Activity?

  
  How can I prevent the expand feature of my custom activity with custom designer ? I have custom WF4 activities with Custom designers. These activities are not container activities. I just want to prevent the expand feature of the same; just like Assign activity. I set the Collapsible attribute of teh ActivityDesigner false; but still it is expanding to the next level. Thanks AmbilyIT Analyst

How to display breakpoint and debug visual cues with custom activity designer based on WorkflowViewE

  
Hi,   I am developing custom activity designers based on "WorkflowViewElement" instead of "ActivityDesigner" in my xaml. It allows me to have greater control of the look and feel of the designer. However I noticed that with this approach, the breakpoint visual cue (Dark red solid circle that appears on the left side of the designer when you set breakpoint on the designer) is not visible. It works fine when you write your designed based on "ActivityDesigner". The same behavior happens to the debug visual cue when you debugging the WF. It appears as bright yellow rectangle surrounding the activity designer if you are based on "ActivityDesigner", but it is not available when your designer is based on"WorkflowViewElement". Any help is highly appreciated. Li

Custom sequence activity deriving from System.Workflow.Activities.SequenceActivity

  
Hi, I try to create custom sequence activity. I found some sample (http://social.msdn.microsoft.com/Forums/en-US/wfprerelease/thread/f54e8eb2-29d9-46f6-ad96-766fe6fad333/). But this custom activity looks ugly (to separate nested activity using ellipses instead of arrows). My question is - how to create custom sequence activity, which will look like sequence activity. I also found this sample - <ContentPresenter x:Uid="ContentPresenter_1" Content="{Binding}" Style="{x:Static sacdt:DesignerStylesDictionary.SequenceStyle}"/> When I used this ContentPresenter my custom activity looks like System.Workflow.Activities.SequenceActivity, but I couldn't put on it another activity. I also created class, which derives from System.Workflow.Activities.SequenceActivity, but I couldn't see it in toolbox. My question is - how to create class, which derives from System.Workflow.Activities.SequenceActivity and is visible in toolbox or how to use ContentPresenter for sequence activity, which allows put on itself another activity.

How to schedule activity loaded from external source inside NativeActivity

  
I have a NativeActivity that takes an InArgument<int> that is the primary key of some table that contains a piece of xaml. When the activity runs, it loads the xaml from the database and uses ActivityXamlServices to turn the xaml into an activity. Then I try to schedule the activity using NativeActivityContext.ScheduleActivity. This fails with the message: The provided activity was not part of this workflow definition when its metadata was being processed.  The problematic activity named 'Sequence' was provided by the activity named 'RunWorkflowFromStore'. This makes sense because I never added the activity I'm trying to run to the metadata. However, when can I do that? It is only at runtime that I know the value of the primary for the xaml I'm trying to load. Or am I doing this the wrong way? Here is my code: public sealed class RunWorkflowFromStore : NativeActivity<ApprovalState> { private Activity _activity; public InArgument<int> WorkflowId { get; set; } protected override void CacheMetadata(NativeActivityMetadata metadata) { var workflowIdArgument = new RuntimeArgument("WorkflowId", typeof(int), ArgumentDirection.In); metadata.Bind(WorkflowId, workflowIdArgument); metadata.AddArgument(workflowIdArgument); } protected override void Execute(NativeActivityContext context) { // Load activity

Custom designer for a Flowchart activity?

  
Can anyone point me in the right direction for developing a custom designer for a Flowchart activity?  In actual fact, the Flowchart control we are using is a custom activity - it's not the regular .NET Flowchart activity, but our own creation with a collection for FlowNodes/etc.  We'd like to put a UI around it now as well ... mimicking the .NET Fllowchart designer.  Is that really possible, or extremely difficult?  It seems there's no real API or anything available for constructing the node connectors, arrows, etc.

Is there a way to contrain or rest the scope that a activity has access to?

  
What I want to do is build a sequence activity that A) has its own scope and B) does not let child activities gain access to scope outside of its own.Is this possible?

Access Model Validation inside Custom Model Binder.

  
Hello,Is it possible, inside a Custom Model Binder, to fire "something" that "says" the value is invalid so it gets handled by validation part?Basically, I am getting an exception when the value for the property is invalid.Thank You,Miguel

Help about cascadin M2M with parent child hierachy custom rollup for one measure

  
Dear MSAS Experts, My name is Andre and i am writing my thesis about data quality which needs to be finished in about 3 weeks.:-( For my thesis i needed to develop a Schema which store data quality issues. This is a part of my schema which includes a cascading M2M: Facttabele: ErrorFact / ChecksFact / RULE ID / ... DT_RULE: Rule_ID / ..... RULE_ATTRIBUTE_BRIDGE: RULE_ID / Attribut_ID => M2M beetween Rule and Attribut(Rules can belong to multiple Attributes) DT_Attribut: Attribut_ID / .... Attribut_KPI_Bridge: Atribute_ID / KPI_ID => M2M beetween Attribute and KPI (Attributes can be used for multible KPI calc) DT_KPI: KPI_ID, KPI_Name, KPI_PARENT => Parent Child Since MSAS do not provide a Agrgatefunction I have a calculated Measure (lets say its called 'EC') which calculates the average of ErrorFact/ChecksFact. Now the problem I do have is that the 'EC' Measure should be aggregated within and only in the DT_KPI dimension that every child which belongs to the same parent should be muliplicated ('*') with each other till we reach the all member node. So if we have the following PC-Hierachy: -A --B ---C ---D --E The result of A would be (C*D)*E = A. B of course would show the result of C*D. On the other hand all the other facts should use the normal aggregation for this dimension. Also EC should be aggregated normal in all other dimensions. I tried usin
Categories: 
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend