/// <summary> /// This is called repeatedly by the interview JS to retrieve the files needed for the interview /// </summary> /// <returns></returns> public FileStreamResult GetInterviewFile() { //File name of template or image var fileName = Request.QueryString["template"]; //Template location var templateLocationData = Request.QueryString["loc"]; var templateLocation = Template.Locate(templateLocationData); //Type of file requested var fileType = Request.QueryString["type"]; fileType = fileType.ToLower(); //Get interview stream var service = CreateHotDocsService(); var interviewFileStream = service.GetInterviewFile(templateLocation, fileName, fileType); //Get MIME type var outputFileName = fileType == "img" ? fileName : fileName + "." + fileType; var interviewResultMimeType = Util.GetMimeType(outputFileName, fileType == "img"); var interviewFileStreamResult = new FileStreamResult(interviewFileStream, interviewResultMimeType); return(interviewFileStreamResult); }
public ActionResult Example5() { Util.SetPersistentEncryptionKey("ExampleKey"); var interviewFragment = GetInterviewFragment(); var model = new InterviewModel { InterviewFragment = interviewFragment }; return(View(model)); }
private static void AssembleDocuments() { Util.SetPersistentEncryptionKey("ExampleKey"); var session = CreateWorkSession(); while (!session.IsCompleted) { var currentWorkItem = session.CurrentWorkItem; if (currentWorkItem is InterviewWorkItem) { var interviewHtmlFragment = session.GetCurrentInterview(); //Show interview to user, receive postback containing answers var answers = GetAnswers(); session.FinishInterview(answers); } var docs = session.AssembleDocuments("logref"); foreach (var doc in docs) { //Process each document as needed. For example, save document to disk, as in Example 2. } } }