public Stream IpccSpeechTemplateList(SpeechTemplate speechtemplate) { InvokeResult <string> result = new InvokeResult <string> { Success = true }; if (!string.IsNullOrEmpty(speechtemplate.RemoteUrl)) { try { HttpAdapter.postSyncAsJSON(speechtemplate.RemoteUrl, new { orgNo = speechtemplate.OrgCode }.ToStringObjectDictionary(), (ret, res) => { if (speechtemplate.RetType == "json") { result.ret = JsonConvert.DeserializeObject(ret).ToString(); } else { result.ret = ret.ToString(); } }); } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.ToString(); } } byte[] resultBytes = Encoding.UTF8.GetBytes(result.ToJson()); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(resultBytes)); }
public Stream GetRemoteDataAsJSONP(string remoteUrl, string callback) { InvokeResult <string> result = new InvokeResult <string> { Success = true }; HttpAdapter.getSyncTo(remoteUrl, (ret, res) => { result.ret = JsonConvert.DeserializeObject(ret).ToString(); }); byte[] resultBytes = Encoding.UTF8.GetBytes(callback + "(" + result.ToJson() + ")"); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(resultBytes)); }
public Stream QueueMemberList(IpccQueue ipccQueue) { InvokeResult <string> result = new InvokeResult <string> { Success = true }; if (!string.IsNullOrEmpty(ipccQueue.RemoteUrl)) { IList <StringObjectDictionary> queueMembers = new List <StringObjectDictionary>(); if (ipccQueue.QueueNames != null && ipccQueue.QueueNames.Count > 0) { try { foreach (string item in ipccQueue.QueueNames) { HttpAdapter.getSyncTo(ipccQueue.RemoteUrl + item, (ret, res) => { dynamic agent = JsonConvert.DeserializeObject(ret); if (agent.success == "true" && agent.data != null) { foreach (var key in agent.data) { queueMembers.Add(new { queueName = item, uuid = key.uuid, cid_number = key.cid_number, cid_name = key.cid_name, join_time = key.join_time }.ToStringObjectDictionary()); } } }); } if (queueMembers.Count > 0) { result.ret = JsonConvert.SerializeObject(queueMembers); } else { result.ret = ""; } } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.ToString(); } } } byte[] resultBytes = Encoding.UTF8.GetBytes(result.ToJson()); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(resultBytes)); }
public Stream GetOpenIdByOAuth2AsJSONP(string code, string callback) { InvokeResult <string> result = new InvokeResult <string> { Success = true }; string accessTokenUrl = string.Format(GlobalManager.TheWeiXinAPIOfV1[GlobalManager.APIGETKey_OAuth2_GetAccessToken], GlobalManager.TheServiceAccount.AppId, GlobalManager.TheServiceAccount.AppSecret, code); HttpAdapter.getSyncTo(accessTokenUrl, (ret, res) => { result.ret = JsonConvert.DeserializeObject(ret).openid.ToString(); }); byte[] resultBytes = Encoding.UTF8.GetBytes(callback + "(" + result.ToJson() + ")"); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(resultBytes)); }
public Stream GetWXUserInfoAsJSONP(string openId, string callback) { InvokeResult <NormalAccount> result = new InvokeResult <NormalAccount> { Success = true }; NormalAccount normalAccount = _GetWXUserInfo(openId); if (normalAccount != null) { result.ret = normalAccount; } byte[] resultBytes = Encoding.UTF8.GetBytes(callback + "(" + result.ToJson() + ")"); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(resultBytes)); }
public Stream RetrieveMessageAsJSONP(string openId, string callback) { InvokeResult <WXReceiveMessage> result = new InvokeResult <WXReceiveMessage> { Success = true }; try { result.ret = _RetrieveMessage(openId); } catch (Exception ex) { result.ErrorCode = 500; result.ErrorMessage = ex.Message; } byte[] resultBytes = Encoding.UTF8.GetBytes(callback + "(" + result.ToJson() + ")"); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(resultBytes)); }
public Stream GetRemoteData(Remote remote) { InvokeResult <string> result = new InvokeResult <string> { Success = true }; if (remote != null && !string.IsNullOrEmpty(remote.RemoteUrl)) { HttpAdapter.getSyncTo(remote.RemoteUrl, (ret, res) => { if (remote.RetType == "json") { result.ret = JsonConvert.DeserializeObject(ret).ToString(); } else { result.ret = ret.ToString(); } }); } byte[] resultBytes = Encoding.UTF8.GetBytes(result.ToJson()); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(resultBytes)); }
public Stream GetConferenceInfo(ConferenceInfo conferenceInfo) { InvokeResult <string> result = new InvokeResult <string> { Success = true }; if (!string.IsNullOrEmpty(conferenceInfo.ConferenceUrl)) { HttpAdapter.getSyncTo(conferenceInfo.ConferenceUrl, (ret, res) => { if (string.IsNullOrEmpty(conferenceInfo.ConferenceMemberUrl)) { result.ret = JsonConvert.DeserializeObject(ret).ToString(); //未获得获取会议室成员的URL,直接返回会议室列表 } else { List <StringObjectDictionary> conferencelist = new List <StringObjectDictionary>(); var conf_data = JsonConvert.DeserializeObject(ret); if ((bool)conf_data.success && conf_data.data != null) { StringObjectDictionary conference; foreach (var item in conf_data.data) { string confname = (string)item.conf_name; if (confname.IndexOf(conferenceInfo.ExtCode) > -1) //过滤出属于当前区域的会议室 { conference = new StringObjectDictionary(); conference.Add("conf_name", confname); conference.Add("uuid", item.uuid); conference.Add("members", item.members); conference.Add("runtimes", item.runtimes); string url = conferenceInfo.ConferenceMemberUrl + "&confname=" + confname; HttpAdapter.getSyncTo(url, (ret2, res2) => { var conf_data2 = JsonConvert.DeserializeObject(ret2); if (conf_data2.success == "true" && conf_data2.data != null) { List <StringObjectDictionary> sodlist = new List <StringObjectDictionary>(); StringObjectDictionary conferenceMember; foreach (var o in conf_data2.data) { conferenceMember = new StringObjectDictionary(); conferenceMember.Add("id", o.id); conferenceMember.Add("uuid", o.uuid); conferenceMember.Add("caller_name", o.caller_name); conferenceMember.Add("caller_number", o.caller_number); conferenceMember.Add("join_time", o.join_time); conferenceMember.Add("last_talking", o.last_talking); sodlist.Add(conferenceMember); } conference.Add("member_data", sodlist.ToArray()); } }); conferencelist.Add(conference); } } if (conferencelist.Count > 0) { result.ret = JsonConvert.SerializeObject(new { data = conferencelist }.ToStringObjectDictionary()); } else { result.ret = ""; } } } }); } byte[] resultBytes = Encoding.UTF8.GetBytes(result.ToJson()); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(resultBytes)); }
public Stream QueueAgentList(IpccQueue ipccQueue) { InvokeResult <string> result = new InvokeResult <string> { Success = true }; if (!string.IsNullOrEmpty(ipccQueue.RemoteUrl)) { IList <StringObjectDictionary> queueAgents = new List <StringObjectDictionary>(); if (ipccQueue.QueueNames != null && ipccQueue.QueueNames.Count > 0) { try { string agent_no = ""; foreach (string item in ipccQueue.QueueNames) { HttpAdapter.getSyncTo(ipccQueue.RemoteUrl + item, (ret, res) => { dynamic agent = JsonConvert.DeserializeObject(ret); if (agent.success == "true" && agent.data != null) { StringObjectDictionary sod; foreach (var key in agent.data) { agent_no = (string)key.agent_no; sod = queueAgents.FirstOrDefault(s => s["agent_no"].Equals(agent_no)); if (sod == null) { sod = new StringObjectDictionary(); sod.Add("agent_no", agent_no); sod.Add("uuid", key.uuid); sod.Add("status", key.status); sod.Add("cause", key.cause); sod.Add("state", key.state); sod.Add("last_offered_call", key.last_offered_call); sod.Add("last_status_change", key.last_status_change); sod.Add("no_answer_count", key.no_answer_count); sod.Add("answer_count", key.answer_count); sod.Add("ext", (item.IndexOf("999") > -1 ? 1 : 0)); sod.Add("queueName", new List <string>() { item }); queueAgents.Add(sod); } else { List <string> queueNames = (List <string>)sod.First(s => s.Key == "queueName").Value; if (queueNames != null) { queueNames.Add(item); } } } } }); } if (queueAgents.Count > 0) { result.ret = JsonConvert.SerializeObject(queueAgents); } else { result.ret = ""; } } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.ToString(); } } } byte[] resultBytes = Encoding.UTF8.GetBytes(result.ToJson()); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(resultBytes)); }