Beispiel #1
0
 public ScreenPopConfig GetScreenPopConfigurationByProfile(int profileId)
 {
     return(_rightNowObjectProvider.GetScreenConfigByProfileId(profileId));
 }
Beispiel #2
0
        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);
        }