public virtual async Task <Result <DocumentUpload> > CreateAsync(DocumentUploadRequest request) { if (request.DocumentKind == null) { throw new ArgumentException("DocumentKind must not be null"); } if (request.File == null) { throw new ArgumentException("File must not be null"); } XmlNode documentUploadXML = await Service.PostMultipartAsync(Service.MerchantPath() + "/document_uploads", request, request.File).ConfigureAwait(false); return(new ResultImpl <DocumentUpload>(new NodeWrapper(documentUploadXML), Gateway)); }