private mPin(ClassQuery cq) { ID = cq.GetInt32(0); SetName = cq.GetString(1); Context = cq.GetString(2); if (!cq.IsDBNull(3)) { ExtensionNumber = cq.GetString(3); ExtensionDomain = cq.GetString(4); } PinNumber = cq.GetString(5); _originalPin = PinNumber; }
public override void LoadInitialConfiguration() { lock (_lock) { Hashtable ht = new Hashtable(); ClassQuery cq = new ClassQuery("Org.Reddragonit.FreeSwitchConfig.DataCore.DB.Trunks", "SELECT DISTINCT gr.RouteContext.Name,gr.OutGateway.Name,gr.DestinationCondition,gr.ID FROM GatewayRoute gr ORDER BY gr.Context.Name,gr.Index"); cq.Execute(); string curContext = ""; ArrayList gways = new ArrayList(); while (cq.Read()) { if (curContext != cq[0].ToString()) { if (gways.Count > 0) ht.Add(curContext, gways); gways = new ArrayList(); curContext = cq[0].ToString(); } Hashtable gw = new Hashtable(); gw.Add(_GATEWAY_NAME_FIELD_ID, cq[1].ToString()); gw.Add(_NPANXX_FIELD_ID, cq[2].ToString()); gw.Add(_ROUTE_ID_FIELD, cq.GetInt32(3)); gways.Add(gw); } cq.Close(); if (gways.Count > 0) ht.Add(curContext, gways); StoredConfiguration = ht; } }
public override void LoadInitialConfiguration() { lock (_lock) { Hashtable ht = new Hashtable(); ClassQuery cq = new ClassQuery("Org.Reddragonit.FreeSwitchConfig.DataCore.DB.Phones", "SELECT ext.Number,ext.VoicemailTimeout,vm.Number,ext.Context.Name,ext.Domain.Name FROM Extension ext LEFT JOIN VoiceMail vm ON ext.Number = vm.Number ORDER BY ext.Context.Name"); cq.Execute(); string curContext = ""; ArrayList exts = new ArrayList(); while (cq.Read()) { if (curContext != cq[3].ToString()) { if (exts.Count > 0) { ht.Add(curContext, exts); exts = new ArrayList(); curContext = cq[3].ToString(); } } Hashtable ext = new Hashtable(); ext.Add(_EXTENSION_FIELD_ID, cq[0].ToString()); ext.Add(_HAS_VOICEMAIL_FIELD_ID, !cq.IsDBNull(2)); ext.Add(_TIMEOUT_FIELD_ID, (cq.IsDBNull(1) ? DEFAULT_TIMEOUT : cq.GetInt32(1))); ext.Add(_DOMAIN_FIELD_ID, cq[4].ToString()); exts.Add(ext); } if (exts.Count > 0) ht.Add(curContext, exts); cq.Close(); StoredConfiguration = ht; } }
public override void LoadInitialConfiguration() { lock (_lock) { Hashtable ht = new Hashtable(); ClassQuery cq = new ClassQuery("Org.Reddragonit.FreeSwitchConfig.Site.BaseComponents", "SELECT vr.AttachedExtension.Context.Name, vr.AttachedExtension.Domain.Name, vr.AttachedExtension.Number, " + "vr.Type,vr.AttachedExtension.Domain.VoicemailTimeout, vr.EndWithVoicemail, vr.StartDate, " + "vr.EndDate, vr.BridgeExtension.Number, vr.BridgeExtension.Domain.Name, " + "vr.GatewayNumber, vr.OutGateway.Name, vr.AudioFileString, vr.ExtensionReference " + " FROM VacationRoute vr " + " ORDER BY vr.AttachedExtension.Context.Name"); cq.Execute(); string curContext = ""; ArrayList vcrs = new ArrayList(); while (cq.Read()) { if (curContext != cq[0].ToString()) { if (vcrs.Count > 0) ht.Add(curContext, vcrs); vcrs = new ArrayList(); curContext = cq[0].ToString(); } Hashtable vcr = new Hashtable(); vcr.Add(_OWNING_EXTENSION_FIELD_ID, new sDomainExtensionPair(cq[2].ToString(), cq[1].ToString()).ToString()); vcr.Add(_TYPE_FIELD_ID, (VacationRouteRedirectTypes)cq[3]); vcr.Add(_VOICEMAIL_TIMEOUT_FIELD_ID, cq.GetInt32(4)); vcr.Add(_END_WITH_VM_FIELD_ID, cq.GetBoolean(5)); vcr.Add(_START_DATE_FIELD_ID, cq.GetDateTime(6)); vcr.Add(_END_DATE_FIELD_ID, cq.GetDateTime(7)); switch ((VacationRouteRedirectTypes)cq[3]) { case VacationRouteRedirectTypes.PhoneExtension: vcr.Add(_BRIDGE_EXTENSION_FIELD_ID, new sDomainExtensionPair(cq[8].ToString(), cq[9].ToString()).ToString()); break; case VacationRouteRedirectTypes.OutGateway: vcr.Add(_GATEWAY_NUMBER_FIELD_ID, new sGatewayNumberPair(cq[10].ToString(), cq[11].ToString()).ToString()); break; case VacationRouteRedirectTypes.PlayFile: vcr.Add(_AUDIO_FILE_FIELD_ID, cq[12].ToString()); break; case VacationRouteRedirectTypes.TransferToExtension: vcr.Add(_CALL_EXTENSION_FIELD_ID, cq[13].ToString()); break; } vcrs.Add(vcr); } if (vcrs.Count > 0) ht.Add(curContext, vcrs); StoredConfiguration = ht; } }