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

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

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

            var orderedManagedUninstalls = managedUninstalls.GroupBy(x => x.Name).Select(g => g.OrderByDescending(x => x.Version).First()).OrderBy(x => x.Name);

            NSArray plManagedUninstalls = new NSArray(orderedManagedUninstalls.Count());
            var counter = 0;
            foreach (var managedUninstall in orderedManagedUninstalls)
            {
                if (managedUninstall.IncludeVersion == 1)
                    plManagedUninstalls.SetValue(counter, managedUninstall.Name + "-" + managedUninstall.Version);
                else
                {
                    plManagedUninstalls.SetValue(counter, managedUninstall.Name);
                }
                counter++;
            }

            return plManagedUninstalls;
        }