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 ArrayList GetCurrentUsers()
 {
     ArrayList ret = new ArrayList();
     ClassQuery cq = new ClassQuery("Org.Reddragonit.FreeSwitchConfig.DataCore.DB.Users",
         "SELECT usr.UserName,usr.FirstName,usr.LastName,usr.Email,usr.UserExtension.Number as extNumber,usr.Locked,usr.Disabled,usr.ID FROM User usr");
     cq.Execute();
     while (cq.Read())
     {
         Hashtable ht = new Hashtable();
         ht.Add("UserName", cq[0].ToString());
         ht.Add("FirstName", cq[1].ToString());
         ht.Add("LastName", cq[2].ToString());
         if (!cq.IsDBNull(3))
             ht.Add("Email", cq[3].ToString());
         if (!cq.IsDBNull(4))
             ht.Add("Extension", cq[4].ToString());
         ht.Add("Locked", cq.GetBoolean(5));
         ht.Add("Disabled", cq.GetBoolean(6));
         ht.Add("ID", cq.GetInt64(7));
         ret.Add(ht);
     }
     cq.Close();
     return ret;
 }
 void IComponent.Append(ref Dictionary<string, object> variables, IOutputWriter writer)
 {
     ClassQuery cq = new ClassQuery(_namespace, _query);
     List<IDbDataParameter> pars = new List<IDbDataParameter>();
     StringOutputWriter swo = new StringOutputWriter();
     foreach (string str in _parameters.Keys)
     {
         string par = "";
         foreach (IComponent ic in _parameters[str])
         {
             swo.Clear();
             ic.Append(ref variables, swo);
             par += swo.ToString();
         }
         pars.Add(cq.CreateParameter(str, par));
     }
     cq.Execute(pars.ToArray());
     object var = new ArrayList();
     while (cq.Read())
     {
         Hashtable ht = new Hashtable();
         for (int x = 0; x < cq.FieldCount; x++)
         {
             if (!cq.IsDBNull(x))
             {
                 ht.Add(cq.GetName(x), cq[x]);
             }
         }
         ((ArrayList)var).Add(ht);
     }
     cq.Close();
     if (((ArrayList)var).Count == 1 && ((Hashtable)((ArrayList)var)[0]).Count == 1)
     {
         Hashtable tmp = (Hashtable)((ArrayList)var)[0];
         var = tmp;
         object[] objAr = new object[1];
         ((Hashtable)var).Values.CopyTo(objAr, 0);
         var = objAr[0];
     }
     if (variables.ContainsKey(_variableName))
         variables.Remove(_variableName);
     variables.Add(_variableName, var);
 }
 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;
     }
 }
Ejemplo n.º 5
0
 public override void LoadInitialConfiguration()
 {
     lock (_lock)
     {
         Hashtable ht = new Hashtable();
         ClassQuery cq = new ClassQuery("Org.Reddragonit.FreeSwitchConfig.Site.BaseComponents",
             "SELECT tr.RouteContext.Name,tr.Start,tr.End,tr.DestinationCondition,tr.PerformOnFail," +
             "tr.Type,tr.AudioFileString,tr.GatewayNumber,tr.OutGateway.Name,tr.BridgeExtension.Number,tr.BridgeExtension.Domain.Name, " +
             "tr.ExtensionReference "+
             "FROM TimedRoute tr ORDER BY tr.Context.Name");
         cq.Execute();
         string curContext = "";
         ArrayList trs = new ArrayList();
         while (cq.Read())
         {
             if (curContext != cq[0].ToString())
             {
                 if (trs.Count > 0)
                     ht.Add(curContext, trs);
                 trs = new ArrayList();
                 curContext = cq[0].ToString();
             }
             Hashtable tr = new Hashtable();
             tr.Add(_START_FIELD_ID, (sCallTime)cq[1].ToString());
             if (!cq.IsDBNull(2))
                 tr.Add(_END_FIELD_ID, (sCallTime)cq[2].ToString());
             tr.Add(_CONDITION_FIELD_ID, cq[3].ToString());
             tr.Add(_PERFORM_ON_FAIL_FIElD_ID, cq.GetBoolean(4));
             tr.Add(_TYPE_FIELD_ID, (VacationRouteRedirectTypes)cq[5]);
             switch ((VacationRouteRedirectTypes)cq[5])
             {
                 case VacationRouteRedirectTypes.PlayFile:
                     tr.Add(_AUDIO_FILE_FIELD_ID, cq[6].ToString());
                     break;
                 case VacationRouteRedirectTypes.OutGateway:
                     tr.Add(_GATEWAY_NUMBER_FIELD_ID, new sGatewayNumberPair(cq[7].ToString(), cq[8].ToString()).ToString());
                     break;
                 case VacationRouteRedirectTypes.PhoneExtension:
                     tr.Add(_EXTENSION_FIELD_ID, new sDomainExtensionPair(cq[9].ToString(), cq[10].ToString()).ToString());
                     break;
                 case VacationRouteRedirectTypes.TransferToExtension:
                     tr.Add(_CALL_EXTENSION_FIELD_ID, cq[11].ToString());
                     break;
             }
             trs.Add(tr);
         }
         if (trs.Count > 0)
             ht.Add(curContext, trs);
         StoredConfiguration = ht;
     }
 }