/// <summary> /// Method to get the competency values associated with the assignment /// </summary> /// <param name="assignmentUrl"></param> /// <returns></returns> public IList<AutoCompleteProxy> GetCompetenciesForAnAssignment(string assignmentUrl) { Assignment assignmentObject = _assignmentService.GetAssignment(assignmentUrl); Dictionary<string, SkillSet> skillSetsForTheAssignment = assignmentObject.SkillSets; IList<AutoCompleteProxy> competencyListForSkillSets = new List<AutoCompleteProxy>(); foreach (var skillSetItem in skillSetsForTheAssignment) { foreach (var competencyItem in skillSetItem.Value.Competencies) { AutoCompleteProxy competencyItemToAdd = new AutoCompleteProxy { id = competencyItem, name = GetLinkedCompetencyForAGuid(competencyItem) }; competencyListForSkillSets.Add(competencyItemToAdd); } } return competencyListForSkillSets; }
/// <summary> /// To get list of competencies in format as per requirement /// </summary> /// <param name="competencyList"></param> /// <returns></returns> public List<AutoCompleteProxy> GetCompetenciesStringListInFormat(IList<Core.Competency.Competency> competencyList) { List<AutoCompleteProxy> competencyStringListTemp = new List<AutoCompleteProxy>(); //Order by source Name in alphabetical order if (competencyList != null) { foreach (Core.Competency.Competency competencyItem in competencyList) { AutoCompleteProxy autoComplete = new AutoCompleteProxy(); string competencyListString; if (competencyItem.Sources != null && competencyItem.Sources.Count > 0) { competencyItem.Sources = (from lstSource in competencyItem.Sources orderby lstSource.Name select lstSource).ToList(); string sourceListString = String.Join(", ", competencyItem.Sources.Select(s => s.Name + " " + s.Number)); competencyListString = competencyItem.Name + ", " + sourceListString; autoComplete.Sources = competencyItem.Sources.Select(s => s.Name).ToList(); } else { competencyListString = competencyItem.Name; } autoComplete.id = competencyItem.UniqueIdentifier; autoComplete.name = competencyListString; competencyStringListTemp.Add(autoComplete); } } competencyStringListTemp = competencyStringListTemp.OrderBy(f => f.name).ToList(); return competencyStringListTemp; }