Ejemplo n.º 1
0
 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;
     }
 }