public async Task <IEnumerable <SkillSummaryViewModel> > Handle(SkillListQuery message) { List <Skill> skills; // assigned below if (message.OrganizationId != null) { skills = await _context.Skills.AsNoTracking() .Include(s => s.ParentSkill) .Include(s => s.ChildSkills) .Include(s => s.OwningOrganization) .Where(s => s.OwningOrganizationId == message.OrganizationId) .Where(s => s.HierarchicalName != Skill.InvalidHierarchy) .ToListAsync(); } else { skills = await _context.Skills.AsNoTracking() .Include(s => s.ParentSkill) .Include(s => s.ChildSkills) .Include(s => s.OwningOrganization) .Where(s => s.HierarchicalName != Skill.InvalidHierarchy) .ToListAsync(); } return(skills.Select(skill => new SkillSummaryViewModel { Id = skill.Id, HierarchicalName = skill.HierarchicalName, Description = skill.Description, OwningOrganizationName = skill.OwningOrganization?.Name ?? string.Empty, DescendantIds = skill.DescendantIds }).ToList()); }
public async Task <IEnumerable <SkillSummaryViewModel> > Handle(SkillListQuery message) { List <Skill> skills = new List <Skill>(); if (message.OrganizationId != null) { skills = await _context.Skills.AsNoTracking() .Include(s => s.ParentSkill) .Include(s => s.OwningOrganization) .Where(s => s.OwningOrganizationId == message.OrganizationId) .ToListAsync(); } else { skills = await _context.Skills.AsNoTracking() .Include(s => s.ParentSkill) .Include(s => s.OwningOrganization) .ToListAsync(); } List <SkillSummaryViewModel> results = new List <SkillSummaryViewModel>(); foreach (var skill in skills) { results.Add(new SkillSummaryViewModel { Id = skill.Id, HierarchicalName = skill.HierarchicalName, Description = skill.Description, OwningOrganizationName = skill.OwningOrganization?.Name ?? string.Empty }); } return(results); }