Esempio n. 1
0
        private async Task <IList <EmployeeQueryDto> > GetEmpOrgNames(List <string> employeeIds)
        {
            var empOrgs = await _relationOrganizationEmployeeAppService.GetOrgIdsByEmployeeIds(employeeIds);

            var groupEmpOrgs = empOrgs.GroupBy(o => o.EmployeeId)
                               .Select(o => new  EmployeeQueryDto {
                Id = o.Key,
                OrganizationIds = o.Select(og => og.OrganizationId).ToList()
            }).ToList();
            var orgIds   = empOrgs.Select(o => o.OrganizationId).ToList();
            var orgNames = await _organizationAppService.GetOrganizationNameByIds(orgIds);

            foreach (var item in groupEmpOrgs)
            {
                var orgs = orgNames.Where(n => item.OrganizationIds.Contains(n.Id)).Select(n => n.Name);

                item.Department = string.Join(";", orgs);
            }

            return(groupEmpOrgs.ToList());
        }