public static string GetSessionDebugSummary(HotDocs.Sdk.Server.WorkSession session)
        {
            var result = new System.Text.StringBuilder();

            result.Append("Service type=");
            if (session.Service is HotDocs.Sdk.Server.Cloud.Services)
            {
                result.Append("C");
            }
            else if (session.Service is HotDocs.Sdk.Server.Local.Services)
            {
                result.Append("L");
            }
            else if (session.Service is HotDocs.Sdk.Server.WebService.Services)
            {
                result.Append("W");
            }
            else
            {
                result.Append("O");
            }
            result.AppendFormat("; Answers={0}", session.AnswerCollection == null ? "null" : session.AnswerCollection.AnswerCount.ToString());
            result.AppendFormat("; WorkItems={0}", (session.WorkItems as List <WorkItem>).Count);
            var item = session.CurrentWorkItem;

            result.AppendFormat("; Current={0} ({1})", item == null ? "null" : item.Template.FileName,
                                item == null ? "Complete" : ((item is HotDocs.Sdk.Server.InterviewWorkItem) ? "Interview" : "Document"));
            return(result.ToString());
        }
 /// <summary>
 /// Removes the current work session, if there is one.
 /// </summary>
 /// <param name="session"></param>
 public static void RetireWorkSession(System.Web.SessionState.HttpSessionState session)
 {
     HotDocs.Sdk.Server.WorkSession workSession = (HotDocs.Sdk.Server.WorkSession)session["HdSession"];
     if (workSession != null)
     {
         session["HdSession"] = null;
     }
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="session"></param>
 /// <param name="packageID"></param>
 /// <param name="templateTitle"></param>
 /// <returns></returns>
 public static HotDocs.Sdk.Server.WorkSession CreateWorkSession(System.Web.SessionState.HttpSessionState session, string packageID, string templateTitle)
 {
     HotDocs.Sdk.Template template = OpenTemplate(packageID);
     template.Title = templateTitle;
     HotDocs.Sdk.Server.IServices service = GetServices();
     HotDocs.Sdk.Server.WorkSession workSession = new HotDocs.Sdk.Server.WorkSession(service, template);
     session["HdSession"] = workSession;
     return workSession;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="session"></param>
 /// <param name="packageID"></param>
 /// <param name="templateTitle"></param>
 /// <returns></returns>
 public static HotDocs.Sdk.Server.WorkSession CreateWorkSession(System.Web.SessionState.HttpSessionState session, string packageID, string templateTitle)
 {
     HotDocs.Sdk.Template template = OpenTemplate(packageID);
     template.Title = templateTitle;
     HotDocs.Sdk.Server.IServices   service     = GetServices();
     HotDocs.Sdk.Server.WorkSession workSession = new HotDocs.Sdk.Server.WorkSession(service, template);
     session["HdSession"] = workSession;
     return(workSession);
 }