/// <summary> /// Delete provider /// </summary> /// <param name="id">id of provider</param> public async Task Delete(string id) { if (string.IsNullOrWhiteSpace(id)) { throw new ModelDamagedException(nameof(id), "can not be empty"); } var user = await GetCurrentUser(); var entity = await _providerRepository.Get(id); if (entity == null) { throw new EntityNotFoundException(id, typeof(Provider)); } if (entity.Owner.Id != user.Id) { throw new AccessDeniedException(id, typeof(Provider)); } await _providerRepository.DeleteSoft(id); }