private List <MergedInSolutionComponent> GetSolutionComponentsForSolution(Solution solution) { var output = new List <MergedInSolutionComponent>();; if (solution != null) { var typesAllowed = ComponentTypesSolutionMapping .Where(k => k.Value == solution.UniqueName) .Select(k => k.Key) .ToList(); foreach (var type in typesAllowed) { if (type.IndexOf("_") > -1) { output.AddRange(SolutionComponents .Where(k => k.Type == SolutionComponentType.WebResource) .Where(k => ((WebResourceData)k.ObjectDefinition).WebResourceType.ToString() == type.Split('_')[1])); } else { output.AddRange(SolutionComponents.Where(k => ((int)k.Type).ToString() == type)); } } //return SolutionComponents // .Where(k => typesAllowed.IndexOf(((int)k.Type).ToString()) > -1) // .ToList(); } return(output); }
private List <MergedInSolutionComponent> GetUnasiggnedSolutionComponents() { var affectedSolutions = GetAffectedSuperSolutions(); var assignedComponents = new List <MergedInSolutionComponent>(); foreach (var solution in affectedSolutions) { assignedComponents.AddRange(GetSolutionComponentsForSolution(solution)); } return (SolutionComponents .Where(k => assignedComponents.FirstOrDefault(l => l.ObjectId == k.ObjectId) == null) .ToList()); }