public virtual async Task <bool> Delete(TId id) { var entity = await GetById(id); if (_validator != null && !await _validator.AllowsRemove(entity)) { return(false); } await _repository.Delete(entity); await _repository.Commit(); return(true); }