SolutionExtensions.ExtensionInstalledChecker.HasMissingExtensions C# (CSharp) Method

HasMissingExtensions() private method

private HasMissingExtensions ( SolutionExtensions.ExtensionFileModel model ) : Task
model SolutionExtensions.ExtensionFileModel
return Task
        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;
            });
        }