public static string Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
        {
            NarsHttpResponseObject result = new NarsHttpResponseObject();

            log.Info("GetNarsUser HttpTrigger executing...");

            var content = req.Content.ReadAsStringAsync().Result;

            var response = NarsCaller.Execute(Environment.GetEnvironmentVariable("userUrl"), content);

            var responseResult = response.Content.ReadAsStringAsync().Result;

            if (response.IsSuccessStatusCode)
            {
                log.Info("****SUCCESS****");

                JObject respResult = (JObject)JsonConvert.DeserializeObject(responseResult);

                result = new NarsHttpResponseObject
                {
                    ReturnType = "NarsUser",
                    ReturnObject = JsonConvert.DeserializeObject<NarsUser>(respResult["d"].ToString()),
                    Success = true,
                    Exception = null
                };
            }
            else
            {
                log.Warning(responseResult);
                result = new NarsHttpResponseObject
                {
                    ReturnType = "HttpResponse.Content.ToString",
                    ReturnObject = responseResult,
                    Success = false,
                    Exception = null
                };
            }

            return JsonConvert.SerializeObject(result);
        }
        /// <summary>
        /// This is the ACTIVITY trigger version of the GetNarsUser Azure Function.  This would be called by an Orchestrator.
        /// </summary>
        /// <param name="content"></param>
        /// <param name="log"></param>
        /// <returns></returns>
        public static string GetCalls([ActivityTrigger] string content, ILogger log)
        {
            NarsHttpResponseObject result = new NarsHttpResponseObject();

            log.LogInformation("GetCalls ActivityTrigger executing...");

            var response       = NarsCaller.Execute(Environment.GetEnvironmentVariable("callsUrl"), content);
            var responseResult = response.Content.ReadAsStringAsync().Result;

            JObject joResult = (JObject)JsonConvert.DeserializeObject(responseResult);

            if (response.IsSuccessStatusCode)
            {
                log.LogInformation("****SUCCESS****");

                result = new NarsHttpResponseObject
                {
                    ReturnType   = "List<NarsCall>",
                    ReturnObject = JsonConvert.DeserializeObject <List <NarsCall> >(joResult["d"]["Calls"].ToString()),
                    Success      = true,
                    Exception    = null
                };
            }
            else
            {
                log.LogWarning(responseResult);

                result = new NarsHttpResponseObject
                {
                    ReturnType   = "HttpResponse.Content.ToString()",
                    ReturnObject = responseResult,
                    Success      = false,
                    Exception    = null,
                };
            }


            return(JsonConvert.SerializeObject(result));
        }