public virtual async Task SetOrganizationUnitsAsync(Guid id, IdentityRoleAddOrRemoveOrganizationUnitDto input) { var origanizationUnits = await IdentityRoleRepository.GetOrganizationUnitsAsync(id, true); var notInRoleOuIds = input.OrganizationUnitIds.Where(ouid => !origanizationUnits.Any(ou => ou.Id.Equals(ouid))); foreach (var ouId in notInRoleOuIds) { await OrganizationUnitManager.AddRoleToOrganizationUnitAsync(id, ouId); } var removeRoleOriganzationUnits = origanizationUnits.Where(ou => !input.OrganizationUnitIds.Contains(ou.Id)); foreach (var origanzationUnit in removeRoleOriganzationUnits) { origanzationUnit.RemoveRole(id); } await CurrentUnitOfWork.SaveChangesAsync(); }
public virtual async Task SetOrganizationUnitsAsync(Guid id, IdentityRoleAddOrRemoveOrganizationUnitDto input) { await RoleAppService.SetOrganizationUnitsAsync(id, input); }