BLL.Workflows.EffectiveMunkiTemplate.GetUpdateStats C# (CSharp) Метод

GetUpdateStats() публичный Метод

public GetUpdateStats ( int templateId ) : MunkiUpdateConfirm
templateId int
Результат MunkiUpdateConfirm
        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;
        }