public JObject UploadFile(Guid documentId, string filename, string revision, string changeReason, DocumentCheckInState checkInState, List<KeyValuePair<string, string>> indexFields, byte[] file) { if (documentId.Equals(Guid.Empty)) { throw new ArgumentException("DocumentId is required but was an empty Guid", "documentId"); } if (string.IsNullOrWhiteSpace(filename)) { throw new ArgumentException("filename is required but was empty", "filename"); } var jobject = new JObject(); foreach (var indexField in indexFields) { jobject.Add(new JProperty(indexField.Key, indexField.Value)); } var jobjectString = JsonConvert.SerializeObject(jobject); var postData = new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("documentId", documentId.ToString()), new KeyValuePair<string, string>("filename", filename), new KeyValuePair<string, string>("revision", revision), new KeyValuePair<string, string>("changeReason", changeReason), new KeyValuePair<string, string>("checkInDocumentState", checkInState.ToString()), new KeyValuePair<string, string>("indexFields", jobjectString) }; return HttpHelper.PostMultiPart(GlobalConfiguration.Routes.Files, "", GetUrlParts(), this.ApiTokens, postData, filename, file); }
public JObject UploadFile(Guid documentId, string fileName, string revision, string changeReason, DocumentCheckInState checkInState, List <KeyValuePair <string, string> > indexFields, Stream fileStream, JObject optionalParameters = null) { if (documentId.Equals(Guid.Empty)) { throw new ArgumentException("DocumentId is required but was an empty Guid", "documentId"); } if (string.IsNullOrWhiteSpace(fileName)) { throw new ArgumentException("DocumentId is required but was empty", "fileName"); } var jobject = new JObject(); foreach (var indexField in indexFields) { jobject.Add(new JProperty(indexField.Key, indexField.Value)); } var jobjectString = JsonConvert.SerializeObject(jobject); var postData = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("documentId", documentId.ToString()), new KeyValuePair <string, string>("fileName", fileName), new KeyValuePair <string, string>("revision", revision), new KeyValuePair <string, string>("changeReason", changeReason), new KeyValuePair <string, string>("checkInDocumentState", checkInState.ToString()), new KeyValuePair <string, string>("indexFields", jobjectString) }; if (optionalParameters != null) { postData.Add(new KeyValuePair <string, string>("parameters", optionalParameters.ToString())); } return(HttpHelper.PostMultiPart(GlobalConfiguration.Routes.Files, "", GetUrlParts(), this.ApiTokens, this.ClientSecrets, postData, fileName, fileStream)); }