internal static void SetCurrentDomain(Domain domain) { if (HttpRequest.CurrentRequest != null) { if (HttpRequest.CurrentRequest.Session != null) { HttpRequest.CurrentRequest.Session[SESSION_ID] = domain; } } }
public static IncomingSIPTrunk Load(string number,Domain domain) { IncomingSIPTrunk ret = null; Connection conn = ConnectionPoolManager.GetConnection(typeof(IncomingSIPTrunk)); List<Org.Reddragonit.Dbpro.Structure.Table> tmp = conn.Select(typeof(IncomingSIPTrunk), new SelectParameter[] { new EqualParameter("Number", number), new EqualParameter("Domain",domain)}); if (tmp.Count > 0) ret = (IncomingSIPTrunk)tmp[0]; conn.CloseConnection(); return ret; }
public sDeployedDomain(Domain domain) { _name = domain.Name; _variables = new List<NameValuePair>(); ClassQuery cq = new ClassQuery("Org.Reddragonit.FreeSwitchConfig.DataCore.DB.Core", "SELECT dv.Name,dv.Value FROM DomainVariable dv WHERE dv.Domain.Name = @domainName"); IDbDataParameter[] pars = new IDbDataParameter[] { cq.CreateParameter("@domainName", domain.Name) }; cq.Execute(pars); while (cq.Read()) _variables.Add(new NameValuePair(cq[0].ToString(), cq[1].ToString())); cq.Close(); _params = new List<NameValuePair>(); cq.NewQuery("Org.Reddragonit.FreeSwitchConfig.DataCore.DB.Core", "SELECT dp.Name,dp.Value FROM DomainParameter dp WHERE dp.Domain.Name = @domainName"); cq.Execute(pars); while (cq.Read()) _params.Add(new NameValuePair(cq[0].ToString(), cq[1].ToString())); cq.Close(); _groups = new List<sDeployedDomainGroup>(); cq.NewQuery("Org.Reddragonit.FreeSwitchConfig.DataCore.DB.Phones", "SELECT egrp.Name FROM ExtensionGroup egrp WHERE egrp.Domain.Name = @domainName"); cq.Execute(pars); while (cq.Read()) _groups.Add(new sDeployedDomainGroup(cq[0].ToString(),_name)); cq.Close(); _internalProfile = domain.InternalProfile.Name; _externalProfile = domain.ExternalProfile.Name; }
public static void RegenerateIncomingSIPTrunkFile(string extensionNumber, Domain domain) { if (!IsDomainDeployed(domain.Name)) { Log.Trace("Creating domain " + domain.Name + " to produce an extension"); RegenerateDomainFile(domain); } sDeployedIncomingSIPTrunk dit = new sDeployedIncomingSIPTrunk(IncomingSIPTrunk.Load(extensionNumber, domain)); Lock(); bool add = true; List<sDeployedIncomingSIPTrunk> its = itrunks; for (int x = 0; x < its.Count; x++) { if ((its[x].Number == dit.Number) && (its[x].DomainName == dit.DomainName)) { its[x] = dit; add = false; break; } } if (add) its.Add(dit); itrunks = its; UnLock(); _deployer.DeployIncomingSipTrunk(dit); EventController.TriggerEvent(new IncomingSIPTrunkDeploymentEvent(dit)); Log.Trace("Config file for Internal SIP Trunk " + dit.Number + " has been successfully created"); }
public static void RegenerateExtensionFiles(string extensionNumber, Domain domain) { if (!IsDomainDeployed(domain.Name)) { Log.Trace("Creating domain " + domain.Name + " to produce an extension"); RegenerateDomainFile(domain); } Extension ext = Extension.Load(extensionNumber, domain); if (ext == null) { Lock(); List<sDeployedExtension> exts = extensions; for (int x = 0; x < exts.Count; x++) { if ((exts[x].Number == extensionNumber) || (exts[x].DomainName == domain.Name)) { exts.RemoveAt(x); break; } } extensions = exts; UnLock(); _deployer.DestroyExtension(domain.Name, extensionNumber); EventController.TriggerEvent(new ExtensionDestroyedEvent(extensionNumber,domain.Name)); } else { sDeployedExtension sext = new sDeployedExtension(ext); Lock(); List<sDeployedExtension> exts = extensions; bool add = true; for (int x = 0; x < exts.Count; x++) { if ((exts[x].Number == extensionNumber) && (exts[x].DomainName == domain.Name)) { exts[x] = sext; add = false; break; } } if (add) exts.Add(sext); extensions = exts; UnLock(); _deployer.DeployExtension(sext); EventController.TriggerEvent(new ExtensionDeploymentEvent(sext)); Log.Trace("Config file for extension " + extensionNumber + " has been successfully created"); Extension ex = Extension.Load(extensionNumber, domain); VoiceMail vm = VoiceMail.Load(ex.Number,ex.Context); if ((vm != null) && vm.ResetVMPassword) { vm.ResetVMPassword = false; vm.Update(); } } }
public static void RegenerateDomainFile(Domain domain) { sDeployedDomain dom = new sDeployedDomain(domain); Lock(); List<sDeployedDomain> doms = domains; bool add = true; for (int x = 0; x < doms.Count; x++) { if (doms[x].Name == dom.Name) { doms[x] = dom; add = false; break; } } if (add) doms.Add(dom); domains = doms; UnLock(); _deployer.DeployDomain(dom); EventController.TriggerEvent(new DomainDeploymentEvent(dom)); }