async public Task <object[]> ExecuteAsync(TableauData data) { //country and region code var arg1Name = TableauKeywords.Arg(0); var arg2Name = TableauKeywords.Arg(1); if (!data.ContainsKey(arg1Name) || !data.ContainsKey(arg2Name)) { throw new MissingFieldException("Shipping Rate Query cannot run. " + "Some fields are missing."); } //arg data var countryCodes = data[arg1Name].StringData; var postalCodes = data[arg2Name].StringData; var results = new object[countryCodes.Length]; var r = new Random(); for (var i = 0; i < results.Length; i++) { //simulate changing shipping rates. var hashOfNames = (countryCodes[i], postalCodes[i]).GetHashCode(); var modOfHash = hashOfNames % 50; var randomNumber = r.Next(1, 100) / 10d; var shippingRate = 100 + modOfHash + randomNumber; results[i] = shippingRate; } return(await Task.FromResult(results)); }
async public Task <object[]> ExecuteAsync(TableauData data) { //trending search term var arg1Name = TableauKeywords.Arg(0); if (!data.ContainsKey(arg1Name)) { throw new MissingFieldException("Trending Query cannot run. Search term field is missing."); } //arg data var searchTerms = data[arg1Name].StringData; var results = new object[searchTerms.Length]; var r = new Random(); for (var i = 0; i < results.Length; i++) { //simulate changing exposure per hour. var hashOfNames = searchTerms[i].GetHashCode(); var modOfHash = hashOfNames % 50; var randomNumber = r.Next(1, 100000); var shippingRate = 10 + modOfHash + randomNumber; results[i] = shippingRate; } return(await Task.FromResult(results)); }