public async Task <bool> Delete(string id) { var entity = await _repositoryProvider.GetFirst(x => x.Id == id && x.State == MREntityState.Active); if (entity == null) { throw _eNotFound <Provider>("Provider not found"); } if (!entity.IsAllowToDelete(_userId) && !_isCurrentUserAdmin) { _eAccessDenied("Access denied"); } await _repositoryProvider.DeleteSoft(entity); return(true); }