/// <summary> /// Converts a PSDK Place object to its CTI equivalent. /// </summary> /// <param name="place">The Place object to convert.</param> /// <returns>A <see cref="Place"/> object equivalent to the provided PSDK object.</returns> public static Place ToPlace(this CfgPlace place) => new Place { Dbid = place.DBID, DnDbids = place.GetDNDBIDs().ToList() ?? Enumerable.Empty <int>(), Enabled = place.State.IsEnabled(), Name = place.Name, TenantDbid = place.GetTenantDBID() };
public OutputValues ReadPlaceObject() { OutputValues output = OutputValues.GetInstance(); try { Settings.GetInstance().ACDPosition = string.Empty; Settings.GetInstance().ExtensionDN = string.Empty; CfgPlace application = new CfgPlace(_configContainer.ConfServiceObject); CfgPlaceQuery queryApp = new CfgPlaceQuery(); queryApp.TenantDbid = _configContainer.TenantDbId; queryApp.Name = Settings.GetInstance().PlaceName; application = _configContainer.ConfServiceObject.RetrieveObject <CfgPlace>(queryApp); IList <CfgDN> DNCollection = (IList <CfgDN>)application.DNs; if (DNCollection != null && DNCollection.Count > 0) { foreach (CfgDN DN in DNCollection) { if (!String.IsNullOrEmpty(DN.Number)) { //Code changed to get both DN's by checking its string empty value if (DN.Type == CfgDNType.CFGACDPosition && Settings.GetInstance().SwitchTypeName == "nortel") { Settings.GetInstance().ACDPosition = DN.Number; } if (DN.Type == CfgDNType.CFGExtension) { Settings.GetInstance().ExtensionDN = DN.Number; if (Settings.GetInstance().ACDPosition.Equals(string.Empty)) { Settings.GetInstance().ACDPosition = DN.Number; } } //End } } } else { output.MessageCode = "2001"; output.Message = Settings.GetInstance().ErrorMessages["place.config"]; } output.MessageCode = "200"; output.Message = "Login Successful"; } catch (Exception commonException) { logger.Error("Error occurred while reading " + Settings.GetInstance().PlaceName + " = " + commonException.ToString()); output.MessageCode = "2001"; output.Message = Settings.GetInstance().ErrorMessages["place.config"]; } return(output); }