public MunkiUpdateConfirm GetUpdateStats(int templateId)
        {
            var includedTemplates = new List <Models.MunkiManifestTemplate>();
            var groups            = BLL.GroupMunki.GetGroupsForManifestTemplate(templateId);
            //get list of all templates that are used in these groups

            int totalComputerCount = 0;

            foreach (var munkiGroup in groups)
            {
                totalComputerCount += Convert.ToInt32(BLL.GroupMembership.GetGroupMemberCount(munkiGroup.GroupId));
                foreach (var template in BLL.GroupMunki.Get(munkiGroup.GroupId))
                {
                    includedTemplates.Add(BLL.MunkiManifestTemplate.GetManifest(template.MunkiTemplateId));
                }
            }

            var computers = BLL.ComputerMunki.GetComputersForManifestTemplate(templateId);

            foreach (var computer in computers)
            {
                foreach (var template in BLL.ComputerMunki.Get(computer.ComputerId))
                {
                    includedTemplates.Add(BLL.MunkiManifestTemplate.GetManifest(template.MunkiTemplateId));
                }
            }
            totalComputerCount += computers.Count;
            var distinctList = includedTemplates.GroupBy(x => x.Name).Select(s => s.First()).ToList();
            var munkiConfirm = new MunkiUpdateConfirm();

            munkiConfirm.manifestTemplates = distinctList;
            munkiConfirm.groupCount        = groups.Count;
            munkiConfirm.computerCount     = totalComputerCount;

            return(munkiConfirm);
        }
Пример #2
0
        public MunkiUpdateConfirm GetUpdateStats(int templateId)
        {
            var includedTemplates = new List<Models.MunkiManifestTemplate>();
            var groups = BLL.GroupMunki.GetGroupsForManifestTemplate(templateId);
            //get list of all templates that are used in these groups

            int totalComputerCount = 0;
            foreach (var munkiGroup in groups)
            {
                totalComputerCount += Convert.ToInt32(BLL.GroupMembership.GetGroupMemberCount(munkiGroup.GroupId));
                foreach (var template in BLL.GroupMunki.Get(munkiGroup.GroupId))
                {
                    includedTemplates.Add(BLL.MunkiManifestTemplate.GetManifest(template.MunkiTemplateId));
                }
            }

            var computers = BLL.ComputerMunki.GetComputersForManifestTemplate(templateId);
            foreach (var computer in computers)
            {
                foreach (var template in BLL.ComputerMunki.Get(computer.ComputerId))
                {
                    includedTemplates.Add(BLL.MunkiManifestTemplate.GetManifest(template.MunkiTemplateId));
                }
            }
            totalComputerCount += computers.Count;
            var distinctList = includedTemplates.GroupBy(x => x.Name).Select(s => s.First()).ToList();
            var munkiConfirm = new MunkiUpdateConfirm();
            munkiConfirm.manifestTemplates = distinctList;
            munkiConfirm.groupCount = groups.Count;
            munkiConfirm.computerCount = totalComputerCount;

            return munkiConfirm;
        }