public ScreenPopConfig GetScreenPopConfigurationByProfile(int profileId) { return(_rightNowObjectProvider.GetScreenConfigByProfileId(profileId)); }
public ScreenPopConfig GetAgentScreenByProfile() { ScreenPopConfig conf = null; try { Logger.Logger.Log.Debug("RightNowConnectConfigurationProvider Getting ScreenPop "); conf = _objectProvider.GetScreenConfigByProfileId(Global.Context.ProfileId); if (conf.ScreenPopOptionsList == null) { conf = _objectProvider.GetScreenConfigByProfileId(0); } Logger.Logger.Log.DebugFormat("ScreenPopConfigModel <<< get-agent-configuration-by-profile."); if (conf.ScreenPopOptionsList != null && conf.ScreenPopOptionsList.Where(p => p.Type == 0).GroupBy(p => new { p.Type, p.Name }).Count() != conf.ScreenPopOptionsList.Where(p => p.Type == 0).Count()) { List <ScreenPopOptions> tempdefault = new List <ScreenPopOptions>(); foreach (ScreenPopOptions pop in conf.ScreenPopOptionsList.Where(p => p.Type == 0)) { ScreenPopOptions val = conf.ScreenPopOptionsList.FirstOrDefault(item => item.Type == 0 && item.Name == pop.Name); if (val == null) { tempdefault.Add(pop); } else if (!tempdefault.Contains(val)) { tempdefault.Add(val); } } conf.ScreenPopOptionsList.RemoveAll(rem => rem.Type == 0); tempdefault.ForEach((vap) => conf.ScreenPopOptionsList.Add(vap)); } if (conf.ScreenPopOptionsList != null && conf.ScreenPopOptionsList.Where(p => p.Type == 1).GroupBy(p => new { p.Type, p.Name }).Count() != conf.ScreenPopOptionsList.Where(p => p.Type == 1).Count()) { List <ScreenPopOptions> tempdefault = new List <ScreenPopOptions>(); foreach (ScreenPopOptions pop in conf.ScreenPopOptionsList.Where(item => item.Type == 1)) { ScreenPopOptions val = conf.ScreenPopOptionsList.FirstOrDefault(item => item.Type == 1 && item.Name == pop.Name); if (val == null) { tempdefault.Add(pop); } else if (!tempdefault.Contains(val)) { tempdefault.Add(val); } } conf.ScreenPopOptionsList.RemoveAll(rem => rem.Type == 1); tempdefault.ForEach((vap) => conf.ScreenPopOptionsList.Add(vap)); } if (conf.ScreenPopOptionsList != null && conf.ScreenPopOptionsList.Where(p => p.Type == 2).GroupBy(p => new { p.Type, p.Name }).Count() != conf.ScreenPopOptionsList.Where(p => p.Type == 2).Count()) { List <ScreenPopOptions> tempdefault = new List <ScreenPopOptions>(); foreach (ScreenPopOptions pop in conf.ScreenPopOptionsList.Where(p => p.Type == 2)) { ScreenPopOptions val = conf.ScreenPopOptionsList.FirstOrDefault(item => item.Type == 2 && item.Name == pop.Name); if (val == null) { tempdefault.Add(pop); } else if (!tempdefault.Contains(val)) { tempdefault.Add(val); } } conf.ScreenPopOptionsList.RemoveAll(rem => rem.Type == 2); tempdefault.ForEach((vap) => conf.ScreenPopOptionsList.Add(vap)); } if (conf.ScreenPopOptionsList != null && conf.ScreenPopOptionsList.Where(p => p.Type == 3).GroupBy(p => new { p.Type, p.Name }).Count() != conf.ScreenPopOptionsList.Where(p => p.Type == 3).Count()) { List <ScreenPopOptions> tempdefault = new List <ScreenPopOptions>(); foreach (ScreenPopOptions pop in conf.ScreenPopOptionsList.Where(p => p.Type == 3)) { ScreenPopOptions val = conf.ScreenPopOptionsList.FirstOrDefault(item => item.Type == 3 && item.Name == pop.Name); if (val == null) { tempdefault.Add(pop); } else if (!tempdefault.Contains(val)) { tempdefault.Add(val); } } conf.ScreenPopOptionsList.RemoveAll(rem => rem.Type == 3); tempdefault.ForEach((vap) => conf.ScreenPopOptionsList.Add(vap)); } } catch (Exception ex) { Logger.Logger.Log.Error(ex); return(conf); } finally { } return(conf); }