本文整理汇总了C#中DsfActivity类的典型用法代码示例。如果您正苦于以下问题:C# DsfActivity类的具体用法?C# DsfActivity怎么用?C# DsfActivity使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DsfActivity类属于命名空间,在下文中一共展示了DsfActivity类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetActivityProperties
public static void SetActivityProperties(IContextualResourceModel resource, ref DsfActivity activity)
{
if(resource.WorkflowXaml != null && resource.WorkflowXaml.Length > 0)
{
var startIdx = resource.WorkflowXaml.IndexOf("<HelpLink>", 0, true);
if(startIdx >= 0)
{
var endIdx = resource.WorkflowXaml.IndexOf("</HelpLink>", startIdx, true);
if(endIdx > 0)
{
startIdx += 10;
var len = (endIdx - startIdx);
activity.HelpLink = resource.WorkflowXaml.Substring(startIdx, len);
}
}
}
if(resource.Environment != null) activity.FriendlySourceName = resource.Environment.Name;
activity.IsWorkflow = true;
activity.Type = "Workflow";
}
示例2: WorkerServicePropertyInterigator_SetActivityProperties_GetSourceNameFromResourceRepo
public void WorkerServicePropertyInterigator_SetActivityProperties_GetSourceNameFromResourceRepo()
{
//------------Setup for test--------------------------
IEventAggregator evtAg = new EventAggregator();
Mock<IEnvironmentModel> env = new Mock<IEnvironmentModel>();
Mock<IStudioResourceRepository> exp = new Mock<IStudioResourceRepository>();
var resRepo = new Mock<IResourceRepository>();
var srcRes = new Mock<IResourceModel>();
srcRes.Setup(a => a.DisplayName).Returns("bob");
resRepo.Setup(a => a.FindSingle(It.IsAny<Expression<Func<IResourceModel, bool>>>(), false, false)).Returns(srcRes.Object);
env.Setup(e => e.Name).Returns("My Env");
var resource = new ResourceModel(env.Object, evtAg) { WorkflowXaml = new StringBuilder("<Action SourceName=\"TheSource\" Type=\"TheType\" SourceMethod=\"SourceMethod\" SourceID=\"123456\"></Action>") };
resource.ServerResourceType = "TheType";
var activity = new DsfActivity("FriendlyName", String.Empty, "ServiceName", string.Empty, string.Empty, string.Empty);
//------------Execute Test---------------------------
WorkerServicePropertyInterigator.SetActivityProperties(resource, ref activity, resRepo.Object);
//------------Assert Results-------------------------
Assert.IsFalse(activity.IsWorkflow);
Assert.AreEqual("TheType", ((Literal<string>)(activity.Type.Expression)).Value);
Assert.AreEqual("bob", activity.FriendlySourceName.Expression.ToString());
Assert.AreEqual("SourceMethod", activity.ActionName.Expression.ToString());
}
示例3: DsfActivityFactory_UnitTest_ResourceAndEnvironmentIDAssigned_Done
public void DsfActivityFactory_UnitTest_ResourceAndEnvironmentIDAssigned_Done()
{
var expectedResourceID = Guid.NewGuid();
var expectedEnvironmentID = Guid.NewGuid();
var activity = new DsfActivity();
var environment = new Mock<IEnvironmentModel>();
environment.Setup(e => e.ID).Returns(expectedEnvironmentID);
var model = new Mock<IContextualResourceModel>();
model.Setup(m => m.ResourceType).Returns(ResourceType.Service);
model.Setup(m => m.ID).Returns(expectedResourceID);
model.Setup(m => m.Environment).Returns(environment.Object);
model.Setup(m => m.WorkflowXaml).Returns(new StringBuilder("<root/>"));
var environmentRepository = SetupEnvironmentRepo(Guid.Empty);
DsfActivityFactory.CreateDsfActivity(model.Object, activity, false, environmentRepository,false);
var actualResourceID = Guid.Parse(activity.ResourceID.Expression.ToString());
var actualEnvironmentID = Guid.Parse(activity.EnvironmentID.Expression.ToString());
Assert.AreEqual(expectedResourceID, actualResourceID, "DsfActivityFactory did not assign the resource ID.");
Assert.AreEqual(expectedEnvironmentID, actualEnvironmentID, "DsfActivityFactory did not assign the environment ID.");
}
示例4: CreateDsfActivity
public static DsfActivity CreateDsfActivity(IContextualResourceModel resource, DsfActivity activity,
bool ifNullCreateNew, IEnvironmentRepository environmentRepository, bool isDesignerLocalhost)
{
var activityToUpdate = activity;
if(activityToUpdate == null)
{
if(ifNullCreateNew)
{
activityToUpdate = new DsfActivity();
}
else
{
return null;
}
}
if(resource != null)
{
var activeEnvironment = environmentRepository.ActiveEnvironment;
activityToUpdate.ResourceID = resource.ID;
SetCorrectEnvironmentId(resource, activityToUpdate, isDesignerLocalhost, activeEnvironment);
activityToUpdate = SetActivityProperties(resource, activityToUpdate);
}
activityToUpdate.ExplicitDataList = null;
return activityToUpdate;
}
示例5: SetActivityProperties
public static void SetActivityProperties(IContextualResourceModel resource, ref DsfActivity activity, IResourceRepository resourceRepository)
{
activity.IsWorkflow = false;
if(resource.WorkflowXaml != null && resource.WorkflowXaml.Length > 0)
{
var startIdx = resource.WorkflowXaml.IndexOf("<Action ", 0, true);
if(startIdx >= 0)
{
var endIdx = resource.WorkflowXaml.IndexOf(">", startIdx, true);
if(endIdx > 0)
{
var len = endIdx - startIdx + 1;
var fragment = resource.WorkflowXaml.Substring(startIdx, len);
fragment += "</Action>";
fragment = fragment.Replace("&", "&");
XmlDocument document = new XmlDocument();
document.LoadXml(fragment);
if(document.DocumentElement != null)
{
XmlNode node = document.SelectSingleNode("//Action");
if(node != null)
{
if(node.Attributes != null)
{
var attr = node.Attributes["SourceName"];
if(attr != null)
{
if (resourceRepository != null && node.Attributes["SourceID"] != null)
{
Guid sourceId;
Guid.TryParse( node.Attributes["SourceID"].Value, out sourceId);
activity.FriendlySourceName = resourceRepository.FindSingle(a => !(a.ID.ToString() != sourceId.ToString()),false).DisplayName;
}
else
activity.FriendlySourceName = attr.Value;
}
attr = node.Attributes["SourceMethod"];
if(attr != null)
{
activity.ActionName = attr.Value;
}
}
}
}
}
}
}
activity.Type = resource.ServerResourceType;
}
示例6: CheckIfRemoteWorkflowAndSetProperties
public static void CheckIfRemoteWorkflowAndSetProperties(DsfActivity dsfActivity, IContextualResourceModel resource, IEnvironmentModel contextEnv)
{
if(resource != null && resource.ResourceType == ResourceType.WorkflowService && contextEnv != null)
{
if(contextEnv.ID != resource.Environment.ID)
{
dsfActivity.ServiceUri = resource.Environment.Connection.WebServerUri.AbsoluteUri;
dsfActivity.ServiceServer = resource.Environment.ID;
}
dsfActivity.FriendlySourceName = new InArgument<string>(resource.Environment.Connection.WebServerUri.Host);
}
}
示例7: SetActivityProperties
static DsfActivity SetActivityProperties(IContextualResourceModel resource, DsfActivity activity)
{
switch(resource.ResourceType)
{
case ResourceType.WorkflowService:
WorkflowPropertyInterigator.SetActivityProperties(resource, ref activity);
break;
case ResourceType.Service:
WorkerServicePropertyInterigator.SetActivityProperties(resource, ref activity,resource.Environment.ResourceRepository);
break;
}
return activity;
}
示例8: SetCorrectEnvironmentId
static void SetCorrectEnvironmentId(IContextualResourceModel resource, DsfActivity activity, bool isDesignerLocalhost, IEnvironmentModel activeEnvironment)
{
if(resource.Environment != null)
{
var idToUse = resource.Environment.ID;
//// when we have an active remote environment that we are designing against, set it as local to that environment ;)
if(activeEnvironment.ID == resource.Environment.ID && idToUse != Guid.Empty && !isDesignerLocalhost)
{
idToUse = Guid.Empty;
}
activity.EnvironmentID = idToUse;
}
}
示例9: DsfActivity_BeforeExecutionStart_EmptyResourceID_DoesNothing
public void DsfActivity_BeforeExecutionStart_EmptyResourceID_DoesNothing()
{
//------------Setup for test--------------------------
DsfActivity act = new DsfActivity { InputMapping = ActivityStrings.DsfActivityInputMapping, OutputMapping = ActivityStrings.DsfActivityOutputMapping, ResourceID = new InArgument<Guid>(Guid.Empty) };
List<DebugItem> inRes;
List<DebugItem> outRes;
//------------Execute Test---------------------------
CheckPathOperationActivityDebugInputOutput(act, @"<ADL><scalar></scalar><Numeric><num></num></Numeric><CompanyName></CompanyName><Customer><FirstName></FirstName></Customer></ADL>",
"<ADL><scalar>scalarData</scalar><Numeric><num>1</num></Numeric><Numeric><num>2</num></Numeric><Numeric><num>3</num></Numeric><Numeric><num>4</num></Numeric><CompanyName>Dev2</CompanyName><Customer><FirstName>Wallis</FirstName></Customer></ADL>", out inRes, out outRes);
// remove test datalist ;)
//------------Assert Results-------------------------
Assert.AreEqual(5, inRes.Count);
}
示例10: DsfActivity
public void Given_WebActivityBackedByAModelItem_ExpectedTheServiceNamePropertySetsTheServiceNamePropertyOnTheModelItem()
{
DsfActivity Act = new DsfActivity();
Act.ServiceName = "testResource";
Act.InputMapping = @"<Inputs><Input Name=""Host"" Source=""Host"" DefaultValue=""mail.bellevuenet.co.za""><Validator Type=""Required"" /></Input><Input Name=""Port"" Source=""Port"" DefaultValue=""25""><Validator Type=""Required"" /></Input><Input Name=""From"" Source=""From"" DefaultValue=""[email protected]""><Validator Type=""Required"" /></Input><Input Name=""To"" Source=""To""><Validator Type=""Required"" /></Input><Input Name=""Subject"" Source=""Subject""><Validator Type=""Required"" /></Input><Input Name=""BodyType"" Source=""Bodytype"" DefaultValue=""html""><Validator Type=""Required"" /></Input><Input Name=""Body"" Source=""Body""><Validator Type=""Required"" /></Input><Input Name=""Attachment"" Source=""Attachment"" DefaultValue=""NONE""><Validator Type=""Required"" /></Input></Inputs>";
Act.OutputMapping = @"<Outputs><Output Name=""FailureMessage"" MapsTo=""FailureMessage"" Value=""[[FailureMessage]]"" /><Output Name=""Message"" MapsTo=""Message"" Value=""[[Message]]"" /></Outputs>";
ModelItem testItem = TestModelItemFactory.CreateModelItem(Act);
string serviceName = "cake";
IWebActivity webActivity = WebActivityFactory.CreateWebActivity(testItem, null, serviceName);
Assert.AreEqual(serviceName, webActivity.ServiceName);
Assert.AreEqual("DsfActivity", ModelItemUtils.GetProperty("DisplayName", testItem));
}
示例11: GetActivityFieldsOffDsfActivityExpectedAllFindMissingFieldsToBeReturned
public void GetActivityFieldsOffDsfActivityExpectedAllFindMissingFieldsToBeReturned()
{
var expectedOnError = new List<string> { "[[ErrorVar]]", "http://ServerName:77/Services/LogErrors?Error=[[ErrorMsg]]" };
DsfActivity activity = new DsfActivity();
activity.InputMapping = @"<Inputs><Input Name=""reg"" Source=""NUD2347"" DefaultValue=""NUD2347""><Validator Type=""Required"" /></Input><Input Name=""asdfsad"" Source=""registration223"" DefaultValue=""w3rt24324""><Validator Type=""Required"" /></Input><Input Name=""number"" Source=""[[number]]"" /></Inputs>";
activity.OutputMapping = @"<Outputs><Output Name=""vehicleVin"" MapsTo=""VIN"" Value="""" /><Output Name=""vehicleColor"" MapsTo=""VehicleColor"" Value="""" /><Output Name=""speed"" MapsTo=""speed"" Value="""" Recordset=""Fines"" /><Output Name=""date"" MapsTo=""date"" Value=""Fines.Date"" Recordset=""Fines"" /><Output Name=""location"" MapsTo=""location"" Value="""" Recordset=""Fines"" /></Outputs>";
activity.OnErrorVariable = expectedOnError[0];
activity.OnErrorWorkflow = expectedOnError[1];
Dev2FindMissingStrategyFactory fac = new Dev2FindMissingStrategyFactory();
IFindMissingStrategy strategy = fac.CreateFindMissingStrategy(enFindMissingType.DsfActivity);
List<string> actual = strategy.GetActivityFields(activity);
List<string> expected = new List<string> { "NUD2347", "registration223", "[[number]]", "Fines.Date", expectedOnError[0], expectedOnError[1] };
CollectionAssert.AreEqual(expected, actual);
}
示例12: WebActivity_IsConnected_PassThrough
public void WebActivity_IsConnected_PassThrough(bool retConnected, bool retLoaded, bool expected)
{
DsfActivity Act = new DsfActivity();
Act.ServiceName = "testResource";
Act.InputMapping = @"<Inputs><Input Name=""Host"" Source=""Host"" DefaultValue=""mail.bellevuenet.co.za""><Validator Type=""Required"" /></Input><Input Name=""Port"" Source=""Port"" DefaultValue=""25""><Validator Type=""Required"" /></Input><Input Name=""From"" Source=""From"" DefaultValue=""[email protected]""><Validator Type=""Required"" /></Input><Input Name=""To"" Source=""To""><Validator Type=""Required"" /></Input><Input Name=""Subject"" Source=""Subject""><Validator Type=""Required"" /></Input><Input Name=""BodyType"" Source=""Bodytype"" DefaultValue=""html""><Validator Type=""Required"" /></Input><Input Name=""Body"" Source=""Body""><Validator Type=""Required"" /></Input><Input Name=""Attachment"" Source=""Attachment"" DefaultValue=""NONE""><Validator Type=""Required"" /></Input></Inputs>";
Act.OutputMapping = @"<Outputs><Output Name=""FailureMessage"" MapsTo=""FailureMessage"" Value=""[[FailureMessage]]"" /><Output Name=""Message"" MapsTo=""Message"" Value=""[[Message]]"" /></Outputs>";
ModelItem testItem = TestModelItemFactory.CreateModelItem(Act);
var resource = new Mock<IContextualResourceModel>();
var env = new Mock<IEnvironmentModel>();
resource.Setup(a => a.Environment).Returns(env.Object);
env.Setup(a => a.IsConnected).Returns(retConnected);
env.Setup(a => a.HasLoadedResources).Returns(retLoaded);
string serviceName = "cake";
IWebActivity webActivity = WebActivityFactory.CreateWebActivity(testItem, resource.Object, serviceName);
Assert.AreEqual(expected,webActivity.IsNotAvailable());
}
示例13: GetActivityFieldsOffDsfForEachActivityWithADsfActivityInsideItExpectedAllFindMissingFieldsToBeReturned
public void GetActivityFieldsOffDsfForEachActivityWithADsfActivityInsideItExpectedAllFindMissingFieldsToBeReturned()
{
DsfActivity dsfActivity = new DsfActivity
{
InputMapping = @"<Inputs><Input Name=""reg"" Source=""NUD2347"" DefaultValue=""NUD2347""><Validator Type=""Required"" /></Input><Input Name=""asdfsad"" Source=""registration223"" DefaultValue=""w3rt24324""><Validator Type=""Required"" /></Input><Input Name=""number"" Source=""[[number]]"" /></Inputs>",
OutputMapping = @"<Outputs><Output Name=""vehicleVin"" MapsTo=""VIN"" Value="""" /><Output Name=""vehicleColor"" MapsTo=""VehicleColor"" Value="""" /><Output Name=""speed"" MapsTo=""speed"" Value="""" Recordset=""Fines"" /><Output Name=""date"" MapsTo=""date"" Value=""Fines.Date"" Recordset=""Fines"" /><Output Name=""location"" MapsTo=""location"" Value="""" Recordset=""Fines"" /></Outputs>"
};
DsfForEachActivity activity = new DsfForEachActivity
{
ForEachElementName = "5",
DataFunc = { Handler = dsfActivity }
};
Dev2FindMissingStrategyFactory fac = new Dev2FindMissingStrategyFactory();
IFindMissingStrategy strategy = fac.CreateFindMissingStrategy(enFindMissingType.ForEach);
List<string> actual = strategy.GetActivityFields(activity);
List<string> expected = new List<string> { "NUD2347", "registration223", "[[number]]", "Fines.Date", "5" };
CollectionAssert.AreEqual(expected, actual);
}
示例14: WorkflowPropertyInterigator_SetActivityProperties_WhenNullXmlPayload_ExpectSomePropertiesSet
public void WorkflowPropertyInterigator_SetActivityProperties_WhenNullXmlPayload_ExpectSomePropertiesSet()
{
//------------Setup for test--------------------------
IEventAggregator evtAg = new EventAggregator();
Mock<IEnvironmentModel> env = new Mock<IEnvironmentModel>();
Mock<IStudioResourceRepository> exp = new Mock<IStudioResourceRepository>();
env.Setup(e => e.Name).Returns("My Env");
var resource = new ResourceModel(env.Object, evtAg);
var activity = new DsfActivity("FriendlyName", String.Empty, "ServiceName", string.Empty, string.Empty, string.Empty);
//------------Execute Test---------------------------
WorkflowPropertyInterigator.SetActivityProperties(resource, ref activity);
//------------Assert Results-------------------------
Assert.IsTrue(activity.IsWorkflow);
Assert.AreEqual("Workflow", activity.Type.Expression.ToString());
Assert.AreEqual("My Env", activity.FriendlySourceName.Expression.ToString());
}
示例15: WorkerServicePropertyInterigator_SetActivityProperties_WhenNotNullXML_ExpectPropertiesSet
public void WorkerServicePropertyInterigator_SetActivityProperties_WhenNotNullXML_ExpectPropertiesSet()
{
//------------Setup for test--------------------------
IEventAggregator evtAg = new EventAggregator();
Mock<IEnvironmentModel> env = new Mock<IEnvironmentModel>();
Mock<IStudioResourceRepository> exp = new Mock<IStudioResourceRepository>();
env.Setup(e => e.Name).Returns("My Env");
var resource = new ResourceModel(env.Object, evtAg) { WorkflowXaml = new StringBuilder("<Action SourceName=\"TheSource\" Type=\"TheType\" SourceMethod=\"SourceMethod\"></Action>") };
resource.ServerResourceType = "TheType";
var activity = new DsfActivity("FriendlyName", String.Empty, "ServiceName", string.Empty, string.Empty, string.Empty);
//------------Execute Test---------------------------
WorkerServicePropertyInterigator.SetActivityProperties(resource, ref activity, null);
//------------Assert Results-------------------------
Assert.IsFalse(activity.IsWorkflow);
Assert.AreEqual("TheType", ((Literal<string>)(activity.Type.Expression)).Value);
Assert.AreEqual("TheSource", activity.FriendlySourceName.Expression.ToString());
Assert.AreEqual("SourceMethod", activity.ActionName.Expression.ToString());
}