private NSArray GetManagedInstalls(string condition = null)
{
var managedInstalls = new List<Models.MunkiManifestManagedInstall>();
foreach (var templateId in _templateIds)
{
if (!string.IsNullOrEmpty(condition))
managedInstalls.AddRange(
BLL.MunkiManagedInstall.GetAllManagedInstallsForMt(templateId)
.Where(x => x.Condition == condition));
else
{
managedInstalls.AddRange(BLL.MunkiManagedInstall.GetAllManagedInstallsForMt(templateId)
.Where(x => string.IsNullOrEmpty(x.Condition)));
}
}
var orderedManagedInstalls = managedInstalls.GroupBy(x => x.Name).Select(g => g.OrderByDescending(x => x.Version).First()).OrderBy(x => x.Name);
NSArray plManagedInstalls = new NSArray(orderedManagedInstalls.Count());
var counter = 0;
foreach (var managedInstall in orderedManagedInstalls)
{
if(managedInstall.IncludeVersion == 1)
plManagedInstalls.SetValue(counter, managedInstall.Name + "-" + managedInstall.Version);
else
{
plManagedInstalls.SetValue(counter, managedInstall.Name);
}
counter++;
}
return plManagedInstalls;
}