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;
}