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);
        }
示例#2
0
        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));
        }