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));
 }