public Process.Process BuildExample() { Guid asyncStepReference = Guid.Empty; ProcessBuilder builder = new ProcessBuilder(); builder .ForceUseTestOptions() .AddAsyncSteps( out asyncStepReference, builder.CreateHttpStep("http://api.fixer.io/latest?base=USD&symbols=GBP", HttpMethod.Get, null, StepOptions.Test), builder.CreateHttpStep("http://api.fixer.io/latest?base=USD&symbols=BRL", HttpMethod.Get, null, StepOptions.Test) ) .AddStep("http://soa-net.test/api/compare-rates/", HttpMethod.Post, () => { var asyncSteps = builder.GetStep(asyncStepReference) as AsyncSteps; var gbp = asyncSteps.AsyncStepsList.ElementAt(0) as HttpStep; var brl = asyncSteps.AsyncStepsList.ElementAt(1) as HttpStep; return(new { rate1 = Convert.ToDecimal(gbp.Result.Data.rates.GBP.ToString()), rate2 = Convert.ToDecimal(brl.Result.Data.rates.BRL.ToString()) }); }); return(builder.Build()); }
public Process.Process BuildExample() { Guid refGetCurrencyRate = Guid.Empty; ProcessBuilder builder = new ProcessBuilder(); builder .ForceUseTestOptions() // Step 1 Getting USD rates .AddStep("http://api.fixer.io/latest?base=USD&symbols=GBP,BRL", out refGetCurrencyRate) // Calling a api using the result of the first step .AddStep("http://soa-net.test/api/calculate-total/", HttpMethod.Post, () => { var step1 = builder.GetDynamicStep(refGetCurrencyRate); var currencyRate = step1.Result.Data; return(new { usd_brl = Convert.ToDecimal(currencyRate.rates.BRL.ToString()) }); }); return(builder.Build()); }