示例#1
0
        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());
        }
示例#2
0
        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);
        }