private async Task<bool> HasMissingExtensions(ExtensionFileModel model)
{
return await Task.Run(() =>
{
List<IExtensionModel> models = new List<IExtensionModel>();
var installedExtensions = GetInstalledExtensions();
var extensions = model.Extensions.Where(cat => cat.Key == "mandatory").SelectMany(e => e.Value);
foreach (var extension in extensions)
{
var installed = installedExtensions.FirstOrDefault(ins => ins.Header.Identifier.Equals(extension.ProductId, StringComparison.OrdinalIgnoreCase));
if (installed == null)
return true;
}
return false;
});
}