public ActionResult Sample33() { // Check is data posted if (Request.HttpMethod == "POST") { //### Set variables and get POST data System.Collections.Hashtable result = new System.Collections.Hashtable(); String clientId = Request.Form["clientId"]; String privateKey = Request.Form["privateKey"]; String url1 = Request.Form["url1"]; String url2 = Request.Form["url3"]; String url3 = Request.Form["url3"]; String basePath = Request.Form["basePath"]; String guid = ""; String message = null; String iframe = ""; if (clientId == null || privateKey == null) { // If not all fields entered send error message message = "Please enter all parameters"; result.Add("error", message); return View("Sample33", null, result); } else { if (basePath == "") { basePath = "https://api.groupdocs.com/v2.0"; } //Add data to template result.Add("basePath", basePath); result.Add("clientId", clientId); result.Add("privateKey", privateKey); result.Add("url1", url1); result.Add("url2", url2); result.Add("url3", url3); // Create service for Groupdocs account GroupdocsService service = new GroupdocsService(basePath, clientId, privateKey); //Create list with URL's System.Collections.Generic.List<String> urlList = new System.Collections.Generic.List<String>(); //Put URL's to list urlList.Add(url1); urlList.Add(url2); urlList.Add(url3); //Create empty list for guid's of uploaded files System.Collections.Generic.List<String> guidsList = new System.Collections.Generic.List<String>(); //Loop for upload document from URL for (int i = 0; i < urlList.Count; i++) { String uploadedGuid = service.UploadUrl(urlList[i]); if (uploadedGuid != null) { //Put uploaded file GUID to list guidsList.Add(uploadedGuid); } else { message = "Upload is failed"; result.Add("error", message); return View("Sample33", null, result); } } //Create list of file types for converting System.Collections.Generic.List<Groupdocs.Common.FileType> fileType = new System.Collections.Generic.List<Groupdocs.Common.FileType>(); //Add PDF to list of file types fileType.Add(Groupdocs.Common.FileType.Pdf); System.Random rand = new System.Random(); //Create job. //First job action is Convert Groupdocs.Api.Contract.CreateJobResult createJob = service.CreateJob(Groupdocs.Common.JobActions.Combine | Groupdocs.Common.JobActions.Convert, fileType.ToArray(), false, false, "test" + rand.Next()); if (!createJob.JobGuid.Equals("")) { //Add uploaded documents to job for (int n = 0; n < guidsList.Count; n++) { Boolean addJobDocument = service.AddJobDocument(createJob.JobGuid, guidsList[n], "", false); if (addJobDocument.Equals(false)) { message = "Add document to job is failed"; result.Add("error", message); return View("Sample33", null, result); } } //Get job for update Groupdocs.Api.Contract.JobInfo jobInfo = new Groupdocs.Api.Contract.JobInfo(); //Update job parameters and action from Convert to Combine jobInfo.EmailResults = true; jobInfo.Status = Groupdocs.Common.JobStatus.Pending; jobInfo.Id = createJob.JobId; jobInfo.Guid = createJob.JobGuid; //Update job Boolean updateJob = service.UpdateJob(jobInfo); if (updateJob.Equals(true)) { System.Threading.Thread.Sleep(5000); //Get documents from job Groupdocs.Api.Contract.GetJobDocumentsResult getDocument = service.GetJobDocuments(createJob.JobGuid); if (String.IsNullOrEmpty(getDocument.Outputs[0].Guid)) { message = "Get document from job is failed or job is Draft"; result.Add("error", message); return View("Sample33", null, result); } else { guid = getDocument.Outputs[0].Guid; // Generate Embed viewer url with entered file id if (basePath.Equals("https://api.groupdocs.com/v2.0")) { iframe = "https://apps.groupdocs.com/document-viewer/embed/" + guid; } if (basePath.Equals("https://dev-api-groupdocs.dynabic.com/v2.0")) { iframe = "https://dev-apps-groupdocs.dynabic.com/document-viewer/embed/" + guid; } if (basePath.Equals("https://stage-api-groupdocs.dynabic.com/v2.0")) { iframe = "https://stage-api-groupdocs.dynabic.com/document-viewer/embed/" + guid; } if (basePath.Equals("https://realtime-api.groupdocs.com/v2.0")) { iframe = "https://realtime-apps.groupdocs.com/document-viewer/embed/" + guid; } iframe = Groupdocs.Security.UrlSignature.Sign(iframe, privateKey); result.Add("iframe", iframe); result.Add("guid", guid); return View("Sample33", null, result); } } else { message = "Update job is failed"; result.Add("error", message); return View("Sample33", null, result); } } else { message = "Create job is failed"; result.Add("error", message); return View("Sample33", null, result); } } } // If data not posted return to template for filling of necessary fields else { return View("Sample33"); } }