public void ConfigureHttpClient()
        {
            if (!httpClient.DefaultRequestHeaders.Contains("Accept"))
            {
                httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
            }

            if (!httpClient.DefaultRequestHeaders.Contains("OData-MaxVersion"))
            {
                httpClient.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0");
            }

            if (!httpClient.DefaultRequestHeaders.Contains("OData-Version"))
            {
                httpClient.DefaultRequestHeaders.Add("OData-Version", "4.0");
            }

            if (CallerId != Guid.Empty && !httpClient.DefaultRequestHeaders.Contains("MSCRMCallerID"))
            {
                httpClient.DefaultRequestHeaders.Add("MSCRMCallerID", CallerId.ToString());
            }

            if (!httpClient.DefaultRequestHeaders.Contains("Prefer"))
            {
                httpClient.DefaultRequestHeaders.Add("Prefer", "odata.include-annotations=\"*\"");
            }

            httpClient.Timeout = Timeout;
        }
예제 #2
0
        private void CreateCallerId()
        {
            if (_callerIdName == null || _callerIdNumber == null)
            {
                return;
            }


            CallerId = new CallerId(_callerIdName, new PlainNumber(_callerIdNumber));
        }
        private void RefreshCallerId()
        {
            if (httpClient?.DefaultRequestHeaders?.Contains("MSCRMCallerID") ?? false)
            {
                httpClient.DefaultRequestHeaders.Remove("MSCRMCallerID");
            }

            if (CallerId != Guid.Empty)
            {
                httpClient?.DefaultRequestHeaders?.Add("MSCRMCallerID", CallerId.ToString());
            }
        }
예제 #4
0
파일: Dial.cs 프로젝트: sukitha/twilio-net
        protected override void Execute(NativeActivityContext context)
        {
            var twilio       = context.GetExtension <ITwilioContext>();
            var timeout      = Timeout.Get(context);
            var hangupOnStar = HangupOnStar.Get(context);
            var timeLimit    = TimeLimit.Get(context);
            var callerId     = CallerId.Get(context);
            var record       = Record.Get(context);

            // dial completion
            var finishUrl = twilio.ResolveBookmarkUrl(context.CreateTwilioBookmark(OnFinish));

            // dial element
            var element = new XElement("Dial",
                                       new XAttribute("action", finishUrl),
                                       timeout != null ? new XAttribute("timeout", ((TimeSpan)timeout).TotalSeconds) : null,
                                       hangupOnStar != null ? new XAttribute("hangupOnStar", (bool)hangupOnStar ? "true" : "false") : null,
                                       timeLimit != null ? new XAttribute("timeLimit", ((TimeSpan)timeLimit).TotalSeconds) : null,
                                       callerId != null ? new XAttribute("callerId", callerId) : null,
                                       record != null ? new XAttribute("record", (bool)record ? "true" : "false") : null);

            // write Dial element
            GetElement(context).Add(
                element,
                new XElement("Redirect", finishUrl));

            // execute nouns
            if (Activities.Count > 0)
            {
                // schedule nouns with reference to Dial element
                twilio.SetElement(context, element);
                foreach (var noun in Activities)
                {
                    context.ScheduleActivity(noun);
                }
            }
        }
예제 #5
0
 /// <summary>
 /// Create a new
 /// </summary>
 /// <param name="name"></param>
 /// <returns></returns>
 public IModuleLogger GetChild(string name)
 {
     return(GetChild(name, CallerId.GetCaller().CallingClass));
 }
예제 #6
0
        private void CreateCallerId()
        {
            if (_callerIdName == null || _callerIdNumber == null)
                return;


            CallerId = new CallerId(_callerIdName, new PlainNumber(_callerIdNumber));
        }