public virtual async Task <OrganizationUnitDto> UpdateAsync(Guid id, OrganizationUnitUpdateDto input) { var ou = await OrganizationUnitRepository.GetAsync(id, true); await AuthorizationService.CheckAsync(ou, CommonOperations.Update); ou.DisplayName = input.DisplayName; ou.ConcurrencyStamp = input.ConcurrencyStamp; ou.SetProperty(OrganizationUnitExtraPropertyNames.IsActiveName, input.IsActive); foreach (var roleId in ou.Roles.Select(our => our.RoleId).Except(input.RoleIds)) { ou.RemoveRole(roleId); } foreach (var roleId in input.RoleIds.Except(ou.Roles.Select(our => our.RoleId))) { ou.AddRole(roleId); } await OrganizationUnitManager.UpdateAsync(ou); //remove cache await CacheOrganizationUnits.RemoveAsync(AllOrganizationUnitsListCacheName); return(ObjectMapper.Map <OrganizationUnit, OrganizationUnitDto>(ou)); }
public async Task <OrganizationUnitDto> UpdateAsync(Guid id, OrganizationUnitUpdateDto input) { return(await _organizationUnitAppService.UpdateAsync(id, input)); }