protected override void ExecuteCrmWorkFlowActivity(CodeActivityContext context, LocalWorkflowContext localContext) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (localContext == null) { throw new ArgumentNullException(nameof(localContext)); } string textToConvert = TextToConvert.Get(context); if (string.IsNullOrEmpty(textToConvert)) { IsValid.Set(context, false); return; } bool isNumber = decimal.TryParse(textToConvert, out var convertedNumber); if (isNumber) { ConvertedNumber.Set(context, convertedNumber); IsValid.Set(context, true); } else { IsValid.Set(context, false); } }
/// <summary> /// This method returns the result from WebApi /// </summary> /// <param name="id"></param> /// <param name="name"></param> /// <returns></returns> public ActionResult Index(ConvertedNumber convertedNumber) { // convertedNumber = (ConvertedNumber)TempData["ConvertedNumber"]; using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:60410/api/"); //HTTP GET to get the word from double value var responseTask = client.GetAsync("NumberConverter/GetNumber?number=" + convertedNumber.Number); responseTask.Wait(); var result = responseTask.Result; if (result.IsSuccessStatusCode) { var readTask = result.Content.ReadAsStringAsync(); readTask.Wait(); convertedNumber.Number = readTask.Result; } else //web api sent error response { //log response status here.. convertedNumber.Number = string.Empty; ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); } } return(View(convertedNumber)); }
/// <summary> /// This method returns the ViewResult /// </summary> /// <returns></returns> public ActionResult Input(ConvertedNumber convertedNumber) { if (ModelState.IsValid) { TempData["ConvertedNumber"] = convertedNumber; return(RedirectToAction("Index", "Number", convertedNumber)); } return(View(convertedNumber)); }