/// <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);
        }
Exemple #2
0
        public ActionResult Example5()
        {
            Util.SetPersistentEncryptionKey("ExampleKey");
            var interviewFragment = GetInterviewFragment();
            var model             = new InterviewModel {
                InterviewFragment = interviewFragment
            };

            return(View(model));
        }
Exemple #3
0
        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.
                }
            }
        }