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

GetIncludedManifests() приватный Метод

private GetIncludedManifests ( string condition = null ) : Claunia.PropertyList.NSArray
condition string
Результат Claunia.PropertyList.NSArray
        private NSArray GetIncludedManifests(string condition = null)
        {
            var includedManifests = new List<Models.MunkiManifestIncludedManifest>();
            foreach (var templateId in _templateIds)
            {
                if(!string.IsNullOrEmpty(condition))
                includedManifests.AddRange(BLL.MunkiIncludedManifest.GetAllIncludedManifestsForMt(templateId)
                    .Where(x => x.Condition == condition));
                else
                {
                    includedManifests.AddRange(BLL.MunkiIncludedManifest.GetAllIncludedManifestsForMt(templateId)
                   .Where(x => string.IsNullOrEmpty(x.Condition)));
                }

            }

            var orderedManifests = includedManifests.GroupBy(x => x.Name).Select(s => s.First()).OrderBy(x => x.Name);

            NSArray plIncludedManifests = new NSArray(orderedManifests.Count());
            var counter = 0;
            foreach (var includedManifest in orderedManifests)
            {
                plIncludedManifests.SetValue(counter, includedManifest.Name);
                counter++;
            }

            return plIncludedManifests;
        }