示例#1
0
        private async Task CreateOrRemoveRelationOrganizationEmployee(EmployeeRequestDto employeeRequestDto)
        {
            var empOrg = await _relationOrganizationEmployeeAppService.GetOrgIdsByEmployeeIds(new List <string>() { employeeRequestDto.Id });

            var dbOrgIds     = empOrg.Select(r => r.OrganizationId).ToList();
            var addOrgIds    = employeeRequestDto.OrganizationIds.Except(dbOrgIds);
            var removeOrgIds = dbOrgIds.Except(employeeRequestDto.OrganizationIds);

            var addRelationOrgEmp = addOrgIds.Select(o => new RelationOrganizationEmployeeRequestDto
            {
                Id             = Guid.NewGuid().ToString(),
                OrganizationId = o,
                EmployeeId     = employeeRequestDto.Id,
                CreateUserId   = employeeRequestDto.CreateUserId,
                CreateUserName = employeeRequestDto.CreateUserName
            });
            await _relationOrganizationEmployeeAppService.BatchCreateAsync(addRelationOrgEmp.ToList());

            var removeRelationOrgEmp = new RelationOrganizationEmployeeRemoveDto
            {
                EmployeeId      = employeeRequestDto.Id,
                OrganizationIds = removeOrgIds.ToList(),
                ModifyUserId    = employeeRequestDto.ModifyUserId,
                ModifyUserName  = employeeRequestDto.ModifyUserName,
                ModifyDate      = DateTime.Now
            };
            await _relationOrganizationEmployeeAppService.RemoveByEmployeeIdAndOrgIds(removeRelationOrgEmp);
        }
示例#2
0
 /// <summary>
 /// 根据用户Id和orgId删除
 /// </summary>
 /// <param name="relationOrganizationEmployeeRequestDto"></param>
 /// <returns></returns>
 public async Task <bool> RemoveByEmployeeIdAndOrgIds(RelationOrganizationEmployeeRemoveDto relationOrganizationEmployeeRemoveDto)
 {
     return(await _relationOrganizationEmployeeRespository.UpdateAsync(e => e.EmployeeId == relationOrganizationEmployeeRemoveDto.EmployeeId &&
                                                                       relationOrganizationEmployeeRemoveDto.OrganizationIds.Contains(e.OrganizationId), async (e) =>
     {
         await Task.Run(() =>
         {
             e.IsDelete = true;
             e.ModifyUserId = relationOrganizationEmployeeRemoveDto.ModifyUserId;
             e.ModifyUserName = relationOrganizationEmployeeRemoveDto.ModifyUserName;
             e.ModifyDate = relationOrganizationEmployeeRemoveDto.ModifyDate;
         });
     }));
 }