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; } }
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; } }