public void UploadVoiceMessageDocument(Stream stream, List <int> waveform, Action <BackendResult <Doc, ResultCode> > callback, Action <double> progressCallback = null, Cancellation cancellation = null) { DocumentsService.GetDocumentUploadServer(0, "audio_message", (Action <BackendResult <VKClient.Audio.Base.UploadServerAddress, ResultCode> >)(uploadUrlResponse => { if (uploadUrlResponse.ResultCode == ResultCode.Succeeded) { JsonWebRequest.UploadVoiceMessage(uploadUrlResponse.ResultData.upload_url, stream, "file", "file", waveform, (Action <JsonResponseData>)(jsonResult => { if (jsonResult.IsSucceeded) { UploadDocResponseData uploadData = JsonConvert.DeserializeObject <UploadDocResponseData>(jsonResult.JsonString); if (string.IsNullOrEmpty(uploadData.error)) { DocumentsService.SaveDocument(uploadData, callback); } else { callback(new BackendResult <Doc, ResultCode>(ResultCode.UnknownError)); } } else { callback(new BackendResult <Doc, ResultCode>(ResultCode.UnknownError)); } }), "Voice Message", progressCallback, cancellation); } else { callback(new BackendResult <Doc, ResultCode>(uploadUrlResponse.ResultCode)); } })); }
private static void SaveDocument(UploadDocResponseData uploadData, Action <BackendResult <Doc, ResultCode> > callback) { Dictionary <string, string> dictionary1 = new Dictionary <string, string>(); string index = "file"; string file = uploadData.file; dictionary1[index] = file; Dictionary <string, string> dictionary2 = dictionary1; string methodName = "docs.save"; Dictionary <string, string> parameters = dictionary2; Action <BackendResult <Doc, ResultCode> > callback1 = callback; int num1 = 0; int num2 = 1; CancellationToken?cancellationToken = new CancellationToken?(); // ISSUE: variable of the null type VKRequestsDispatcher.DispatchRequestToVK <Doc>(methodName, parameters, callback1, (Func <string, Doc>)(jsonString => JsonConvert.DeserializeObject <VKRequestsDispatcher.GenericRoot <List <Doc> > >(jsonString).response.First <Doc>()), num1 != 0, num2 != 0, cancellationToken, null); }
public void UploadGraffitiDocument(string fileName, string fileExtension, Stream stream, Action <BackendResult <Doc, ResultCode> > callback, Action <double> progressCallback = null, Cancellation cancellation = null) { DocumentsService.GetDocumentUploadServer(0, "graffiti", (Action <BackendResult <VKClient.Audio.Base.UploadServerAddress, ResultCode> >)(uploadUrlResponse => { if (uploadUrlResponse.ResultCode == ResultCode.Succeeded) { string uploadUrl = uploadUrlResponse.ResultData.upload_url; string str = fileName.EndsWith(fileExtension) ? fileName : fileName + fileExtension; Stream data = stream; string paramName = "file"; string uploadContentType = "file"; string fileName1 = str; Action <double> progressCallback1 = progressCallback; Cancellation c = cancellation; JsonWebRequest.Upload(uploadUrl, data, paramName, uploadContentType, (Action <JsonResponseData>)(jsonResult => { if (jsonResult.IsSucceeded) { UploadDocResponseData uploadData = JsonConvert.DeserializeObject <UploadDocResponseData>(jsonResult.JsonString); if (string.IsNullOrEmpty(uploadData.error)) { DocumentsService.SaveDocument(uploadData, callback); } else { callback(new BackendResult <Doc, ResultCode>(ResultCode.UnknownError)); } } else { callback(new BackendResult <Doc, ResultCode>(ResultCode.UnknownError)); } }), fileName1, progressCallback1, c); } else { callback(new BackendResult <Doc, ResultCode>(uploadUrlResponse.ResultCode)); } })); }