protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         _repository?.Dispose();
         _unitOfWork?.Dispose();
     }
 }