Exemplo n.º 1
0
        public static SipServiceCall GetEventInfo(string securityToken, int tenantId, int companyId)
        {
            var logger      = Logger.Instance;
            var serviceCall = new SipServiceCall {
                AutoAnswerByDefault = false, AutoAnswerCanAgentEnable = false, Answer = false, Conference = false, ETL = false, Dial = false, Hold = false, Reject = false, SwapCall = false, Transfer = false, UnHold = false, BaseTabName = "duo"
            };

            try
            {
                var section   = (NameValueCollection)ConfigurationManager.GetSection("DuoBaseInfo");
                var tableName = section["ZipEventTableName"];
                var clinet    = new RefCommonData.CommonDataClient("BasicHttpBinding_ICommonData");
                clinet.Open();
                var data = clinet.GetData(tableName, securityToken);

                var eventInfo = data.Where(d => d["TenantID"].Equals(tenantId.ToString()) && d["CompanyID"].Equals(companyId.ToString()));

                serviceCall = new SipServiceCall
                {
                    AutoAnswerByDefault      = eventInfo.Any(e => e["AutoAnswerByDefault"].ToString().ToLower().Equals("yes") || e["AutoAnswerByDefault"].ToString().ToLower().Equals("1")),
                    AutoAnswerCanAgentEnable = eventInfo.Any(e => e["AutoAnswerCanAgentEnable"].ToString().ToLower().Equals("yes") || e["AutoAnswerCanAgentEnable"].ToString().ToLower().Equals("1")),
                    Dial       = eventInfo.Any(e => e["Dial"].ToString().ToLower().Equals("yes") || e["Dial"].ToString().ToLower().Equals("1")),
                    Answer     = eventInfo.Any(e => e["Answer"].ToString().ToLower().Equals("yes") || e["Answer"].ToString().ToLower().Equals("1")),
                    Hold       = eventInfo.Any(e => e["Hold"].ToString().ToLower().Equals("yes") || e["Hold"].ToString().ToLower().Equals("1")),
                    UnHold     = eventInfo.Any(e => e["Hold"].ToString().ToLower().Equals("yes") || e["Hold"].ToString().ToLower().Equals("1")),
                    Reject     = eventInfo.Any(e => e["Reject"].ToString().ToLower().Equals("yes") || e["Reject"].ToString().ToLower().Equals("1")),
                    Transfer   = eventInfo.Any(e => e["transferCall"].ToString().ToLower().Equals("yes") || e["transferCall"].ToString().ToLower().Equals("1")),
                    Conference = eventInfo.Any(e => e["Conference"].ToString().ToLower().Equals("yes") || e["Conference"].ToString().ToLower().Equals("1")),
                    ETL        = eventInfo.Any(e => e["ETL"].ToString().ToLower().Equals("yes") || e["ETL"].ToString().ToLower().Equals("1")),
                    SwapCall   = eventInfo.Any(e => e["SwapCall"].ToString().ToLower().Equals("yes") || e["SwapCall"].ToString().ToLower().Equals("1")),
                    ShowMsg    = eventInfo.Any(e => e["ShowMsg"].ToString().ToLower().Equals("yes") || e["ShowMsg"].ToString().ToLower().Equals("1")),
                    IsPBX      = eventInfo.Any(e => e["value1"].ToString().ToLower().Equals("pbx") || e["value1"].ToString().ToLower().Equals("1")),
                };
                object data1 = string.Empty;
                var    temp  = eventInfo.FirstOrDefault(x => x.TryGetValue("SocketMsgKey", out data1));
                if (data1 != null)
                {
                    serviceCall.SocketMsgKey = data1.ToString();
                }

                serviceCall.IsPlayRingtone = !
                                             eventInfo.Any(
                    e =>
                    e["value2"].ToString().ToLower().Equals("yes") ||
                    e["value2"].ToString().ToLower().Equals("1"));

                serviceCall.IsAllowToReject = eventInfo.Any(
                    e =>
                    e["value3"].ToString().ToLower().Equals("yes") ||
                    e["value3"].ToString().ToLower().Equals("1"));
                object tabName = "duo";
                eventInfo.FirstOrDefault(x => x.TryGetValue("BaseTabName", out tabName));
                serviceCall.BaseTabName = (tabName != null) ? tabName.ToString() : "duo";
                logger.LogMessage(Logger.LogAppender.DuoDefault, string.Format("SipServiceCall : {0}", serviceCall), Logger.LogLevel.Info);
            }
            catch (IndexOutOfRangeException exception)
            {
                logger.LogMessage(Logger.LogAppender.DuoDefault, "GetEventInfo", exception, Logger.LogLevel.Error);
            } return(serviceCall);
        }
Exemplo n.º 2
0
        public static SipServiceCall GetEventInfo(string securityToken, int TenantID, int CompanyID)
        {
            var serviceCall = new SipServiceCall {
                AutoAnswerByDefault = false, AutoAnswerCanAgentEnable = false, Answer = false, Conference = false, ETL = false, Dial = false, Hold = false, Reject = false, SwapCall = false, Transfer = false, UnHold = false
            };

            try
            {
                var section   = (NameValueCollection)ConfigurationManager.GetSection("DuoBaseInfo");
                var tableName = section["ZipEventTableName"];
                var clinet    = new refCommonData.CommonDataClient("BasicHttpBinding_ICommonData");
                clinet.Open();
                var data = clinet.GetData(tableName, securityToken);

                var eventInfo = data.Where(d => d["TenantID"].Equals(TenantID.ToString()) && d["CompanyID"].Equals(CompanyID.ToString()));

                serviceCall = new SipServiceCall
                {
                    AutoAnswerByDefault      = eventInfo.Any(e => e["AutoAnswerByDefault"].ToString().ToLower().Equals("yes")),
                    AutoAnswerCanAgentEnable = eventInfo.Any(e => e["AutoAnswerCanAgentEnable"].ToString().ToLower().Equals("yes")),
                    Dial       = eventInfo.Any(e => e["Dial"].ToString().ToLower().Equals("yes")),
                    Answer     = eventInfo.Any(e => e["Answer"].ToString().ToLower().Equals("yes")),
                    Hold       = eventInfo.Any(e => e["Hold"].ToString().ToLower().Equals("yes")),
                    UnHold     = eventInfo.Any(e => e["Hold"].ToString().ToLower().Equals("yes")),
                    Reject     = eventInfo.Any(e => e["Reject"].ToString().ToLower().Equals("yes")),
                    Transfer   = eventInfo.Any(e => e["transferCall"].ToString().ToLower().Equals("yes")),
                    Conference = eventInfo.Any(e => e["Conference"].ToString().ToLower().Equals("yes")),
                    ETL        = eventInfo.Any(e => e["ETL"].ToString().ToLower().Equals("yes")),
                    SwapCall   = eventInfo.Any(e => e["SwapCall"].ToString().ToLower().Equals("yes")),
                    ShowMsg    = eventInfo.Any(e => e["ShowMsg"].ToString().ToLower().Equals("yes")),
                    IsPBX      = eventInfo.Any(e => e["value1"].ToString().ToLower().Equals("pbx")),
                };
                try
                {
                    object data1 = "";
                    var    temp  = eventInfo.FirstOrDefault(x => x.TryGetValue("SocketMsgKey", out data1));
                    serviceCall.SocketMsgKey = data1.ToString();
                }
                catch (Exception exception)
                {
                    Logger.Instance.LogMessage(Logger.LoggerFiles.DuoDefault, "GetEventInfo-Fail to get SocketMsgKey", exception, Logger.LogLevel.Error);
                    serviceCall.SocketMsgKey = string.Empty;
                }
                Logger.Instance.LogMessage(Logger.LoggerFiles.DuoDefault, string.Format("SipServiceCall : {0}", serviceCall), Logger.LogLevel.Info);
            }
            catch (Exception exception)
            {
                Logger.Instance.LogMessage(Logger.LoggerFiles.DuoDefault, "GetEventInfo", exception, Logger.LogLevel.Error);
            } return(serviceCall);
        }