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");
            }
        }