本文整理汇总了C#中Flow.Add方法的典型用法代码示例。如果您正苦于以下问题:C# Flow.Add方法的具体用法?C# Flow.Add怎么用?C# Flow.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Flow
的用法示例。
在下文中一共展示了Flow.Add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddThrowsOnDuplicateStepId
public void AddThrowsOnDuplicateStepId()
{
// Arrange
var x = new Flow();
const string sameId = "1111";
var step1 = new Step(sameId, "name1", "action1");
var step2 = new Step(sameId, "name2", "action2");
// Act
x.Add(step1);
x.Add(step2);
}
示例2: DefineDemoQuerySteps
private static Flow DefineDemoQuerySteps()
{
var retVal = new Flow();
retVal.Add(new Step("10", "Enter the name of the connection string", "Plugin.ConsoleUI.PublishStringFromUI"));
retVal.Add(new Step("20", "Get the connection string", "Plugin.DataHelper.PublishConnectionString",
new[] { new Parameter("String", "10", 0) }));
retVal.Add(new Step("30", "Parse the connection string", "Plugin.DataHelper.ParseConnectionString",
new[] { new Parameter("Connection String", "20", 0), }));
retVal.Add(new Step("40", "Build DB verification string", "Plugin.DataHelper.PublishSanitisedConnectionStringForVerification",
new[] { new Parameter("Connection String Parts", "30", 0), }));
retVal.Add(new Step("50", "Confirm DB", "Plugin.ConsoleUI.Confirm",
new[] { new Parameter("String", "40", 0), }));
retVal.Add(new Step("60", "Publish demo row action", "Plugin.Demo.Query.PublishRowActionForQuery1"));
retVal.Add(new Step("80", "Get the query", "Plugin.DataHelper.PublishQuery",
new[]
{
new Parameter("String", "60", 0),
new Parameter("Configuration Info", "60", 0),
}));
retVal.Add(new Step("90", "Run the query", "Plugin.DataHelper.PerformActionOnEveryRow",
new[]
{
new Parameter("Row Action", "60", 0),
new Parameter("Connection String", "20", 0),
new Parameter("Query Definition", "80", 0),
}));
return retVal;
}
示例3: DefineDemoCalculatorSteps
private static Flow DefineDemoCalculatorSteps()
{
var retVal = new Flow();
retVal.Add(new Step("10", "Enter 1st integer", "Plugin.ConsoleUI.PublishIntegerFromUI"));
retVal.Add(new Step("20", "Enter 2nd integer", "Plugin.ConsoleUI.PublishIntegerFromUI"));
var trickyStep = new Step("30", "Compute stuff", "Plugin.Demo.Calculator.DoArithmetic");
trickyStep.AddParameter("Integer", 100, new Parameter("Integer", "10", 0));
trickyStep.AddParameter("Integer", 200, new Parameter("Integer", "20", 0));
retVal.Add(trickyStep);
retVal.Add(new Step("40", "Format result", "Plugin.Demo.Calculator.FormatNumber",
new[] { new Parameter("Number", "30", 3), }));
retVal.Add(new Step("50", "Display result", "Plugin.ConsoleUI.DisplayString",
new[] { new Parameter("String", "40", 0), }));
return retVal;
}
示例4: AddIncrementsOrderOfSubsequentSteps
public void AddIncrementsOrderOfSubsequentSteps()
{
// Arrange
var x = new Flow();
var step1 = new Step("name1", "action");
var step2 = new Step("name2", "action");
// Act
x.Add(step1);
x.Add(step2);
// Assert
Assert.AreEqual(1, step1.Order);
Assert.AreEqual(2, step2.Order);
}
示例5: DefineDemoCurrencyConverterSteps
private static Flow DefineDemoCurrencyConverterSteps()
{
var retVal = new Flow();
retVal.Add(new Step("10", "Enter 1st currency", "Plugin.ConsoleUI.PublishStringFromUI"));
retVal.Add(new Step("20", "Enter 2nd currency", "Plugin.ConsoleUI.PublishStringFromUI"));
var trickyStep = new Step("30", "Get exchange rate", "Plugin.Demo.CurrencyConverter.GetExchangeRate");
trickyStep.AddParameter("String", 1, new Parameter("String", "10", 0));
trickyStep.AddParameter("String", 2, new Parameter("String", "20", 0));
retVal.Add(trickyStep);
retVal.Add(new Step("40", "Format result", "Plugin.Demo.Calculator.FormatNumber",
new[] { new Parameter("Number", "30", 0), }));
retVal.Add(new Step("50", "Display result", "Plugin.ConsoleUI.DisplayString",
new[] { new Parameter("String", "40", 0), }));
return retVal;
}
示例6: BiggestCountries
public static Report BiggestCountries()
{
var dc = new DataContext();
var data = new Dictionary<string, GdpItem>();
var src = Pecunia.Services.GdpDataProvider.GetData();
var lastYear = src.Max(a=>a.Year);
foreach (var item in src)
{
GdpItem i;
if (!data.TryGetValue(item.Country, out i))
data.Add(item.Country, i = new GdpItem { Country = item.Country });
i.Process(lastYear, item);
}
var res = data.Values.ToArray();
dc.AddTable("data", res);
var table = TableGenerator.GetTable(typeof(GdpItem), "data");
table.Columns.Last().SortIndex = 0;
table.Columns.Last().SortDirection = SortDirection.Descending;
for (var i = 0; i < 5; i++)
{
table.Columns[i + 2].HeaderText = (lastYear - 4 + i).ToString();
}
var flow = new Flow { Orientation = FlowOrientation.Vertical };
flow.Add(table);
return Report.CreateReport(flow, dc);
}
示例7: ValidateAddsErrorIfParameterTypeIsDifferent
public void ValidateAddsErrorIfParameterTypeIsDifferent()
{
// Arrange
var x = new Flow();
var step1 = new Step("1", "GetIntFromUI");
var step2 = new Step("2", "PrintInt", new List<Parameter> { new Parameter("string", step1.Id, 0) });
x.Add(step1);
x.Add(step2);
var actions = new CalculatorActionDefinitionProvider().Get;
// Act
var errors = x.Validate(actions);
// Assert
Assert.IsNotNull(errors);
Assert.AreEqual(2, errors.Count);
Assert.IsTrue(errors[0].Message.Contains("parameter is of type"));
Assert.IsTrue(errors[0].Message.Contains("while action needs"));
}
示例8: AddIncrementsOrderOfFirstStep
public void AddIncrementsOrderOfFirstStep()
{
// Arrange
var x = new Flow();
var step = new Step("name", "action");
int previous = step.Order;
// Act
x.Add(step);
// Assert
Assert.AreEqual(0, previous);
Assert.AreEqual(1, step.Order);
}
示例9: ValidateAddsErrorIfNumberOfInputParametersIsLessThanExpected
public void ValidateAddsErrorIfNumberOfInputParametersIsLessThanExpected()
{
// Arrange
var x = new Flow();
var step = new Step(null, "DoArithmetic");
var prm = new Parameter("int", step.Id, 0);
step.AddParameter(prm);
x.Add(step);
var actions = new CalculatorActionDefinitionProvider().Get;
// Act
var errors = x.Validate(actions);
// Assert
Assert.IsNotNull(errors);
Assert.AreEqual(1, errors.Count);
Assert.IsTrue(errors[0].Message.Contains("Number of input parameters"));
}
示例10: ValidateAddsErrorIfParameterWasNotPreviouslyPublished
public void ValidateAddsErrorIfParameterWasNotPreviouslyPublished()
{
// Arrange
var x = new Flow();
var step = new Step(null, "PrintInt");
var prm = new Parameter("int", step.Id, 0);
step.AddParameter(prm);
x.Add(step);
var actions = new CalculatorActionDefinitionProvider().Get;
// Act
var errors = x.Validate(actions);
// Assert
Assert.IsNotNull(errors);
Assert.AreEqual(1, errors.Count);
Assert.IsTrue(errors[0].Message.Contains("has not been previously published"));
}
示例11: CreateValidFlow
private static Flow CreateValidFlow()
{
var x = new Flow();
var step1 = new Step("1", "Get 1st int", "GetIntFromUI");
var step2 = new Step("2", "Get 2nd int", "GetIntFromUI");
var step3 = new Step("3", "Do the math", "DoArithmetic");
step3.AddParameter("int", 111, new Parameter("int", step1.Id, 0));
step3.AddParameter("int", 222, new Parameter("int", step2.Id, 0));
var step4 = new Step("4", "Print product", "PrintInt", new[] { new Parameter("int", step3.Id, 333) });
x.Add(step1);
x.Add(step2);
x.Add(step3);
x.Add(step4);
return x;
}
示例12: ValidateAddsErrorIfStepActionIsUnknown
public void ValidateAddsErrorIfStepActionIsUnknown()
{
// Arrange
var x = new Flow();
var step = new Step(null, "UnknownAction");
x.Add(step);
var actions = new CalculatorActionDefinitionProvider().Get;
// Act
var errors = x.Validate(actions);
// Assert
Assert.IsNotNull(errors);
Assert.AreEqual(1, errors.Count);
Assert.IsTrue(errors[0].Message.Contains("Unknown action"));
}
示例13: ValidateAddsErrorIfStepNameIsNull
public void ValidateAddsErrorIfStepNameIsNull()
{
// Arrange
var x = new Flow();
var step = new Step(null, "GetIntFromUI");
step.Name = null;
x.Add(step);
var actions = new CalculatorActionDefinitionProvider().Get;
// Act
var errors = x.Validate(actions);
// Assert
Assert.IsNotNull(errors);
Assert.AreEqual(1, errors.Count);
Assert.IsTrue(errors[0].Message.Contains("is not named"));
}
示例14: RemoveDoesNothingToOrderWhenLastStepIsRemoved
public void RemoveDoesNothingToOrderWhenLastStepIsRemoved()
{
// Arrange
var x = new Flow();
var step1 = new Step("name1", "action");
var step2 = new Step("name2", "action");
var step3 = new Step("name3", "action");
// Act
x.Add(step1);
x.Add(step2);
x.Add(step3);
int before1 = step1.Order;
int before2 = step2.Order;
int before3 = step3.Order;
x.Remove(step3);
int after1 = step1.Order;
int after2 = step2.Order;
// Assert
Assert.AreEqual(1, before1);
Assert.AreEqual(2, before2);
Assert.AreEqual(3, before3);
Assert.AreEqual(1, after1);
Assert.AreEqual(2, after2);
}
示例15: RemoveDecrementsOrderOfRemainingStepsWhenTheMiddleOneIsRemoved
public void RemoveDecrementsOrderOfRemainingStepsWhenTheMiddleOneIsRemoved()
{
// Arrange
var x = new Flow();
var step1 = new Step("name1", "action");
var step2 = new Step("name2", "action");
var step3 = new Step("name3", "action");
// Act
x.Add(step1);
x.Add(step2);
x.Add(step3);
int before1 = step1.Order;
int before2 = step2.Order;
int before3 = step3.Order;
x.Remove(step2);
int after1 = step1.Order;
int after3 = step3.Order;
// Assert
Assert.AreEqual(1, before1);
Assert.AreEqual(2, before2);
Assert.AreEqual(3, before3);
Assert.AreEqual(1, after1);
Assert.AreEqual(2, after3);
}