Пример #1
0
        public void Papers_Add()
        {
            int classid = DataConverter.CLng(Request.Form["TreeTlp_hid"]);

            if (classid < 1)
            {
                function.WriteErrMsg("请选择试卷科目"); return;
            }
            M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid);

            if (paperMod == null)
            {
                paperMod = new M_Exam_Sys_Papers();
            }
            paperMod.p_name      = Request.Form["p_name"];
            paperMod.p_class     = classid;
            paperMod.p_type      = DataConverter.CLng(Request.Form["p_type"]);
            paperMod.p_rtype     = DataConverter.CLng(Request.Form["p_rtype"]);
            paperMod.p_Remark    = Request.Form["p_Remark"];
            paperMod.p_UseTime   = DataConverter.CDouble(Request.Form["p_UseTime"]);
            paperMod.p_BeginTime = DataConverter.CDate(Request.Form["p_BeginTime"]);
            paperMod.p_endTime   = DataConverter.CDate(Request.Form["p_endTime"]);
            paperMod.TagKey      = Request.Form["tabinput"];
            if (Mid > 0)
            {
                paperBll.UpdateByID(paperMod);
            }
            else
            {
                paperMod.UserID = buser.GetLogin().UserID;
                paperBll.GetInsert(paperMod);
            }
            function.WriteSuccessMsg("操作成功", "Papers_System_Manage");
        }
Пример #2
0
        public ActionResult AddPaper()
        {
            M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers();

            if (Mid > 0)
            {
                paperMod = paperBll.GetSelect(Mid);
                if (mu.UserID != paperMod.UserID)
                {
                    function.WriteErrMsg("你无权修改该试卷"); return(Content(""));
                }
            }
            else
            {
                paperMod.p_BeginTime = DateTime.Now;
                paperMod.p_endTime   = DateTime.Now.AddMonths(1);
            }
            C_TreeTlpDP treeMod = new C_TreeTlpDP()
            {
                F_ID   = "C_id",
                F_Name = "C_ClassName",
                F_Pid  = "C_Classid",
                dt     = clsBll.Select_All(),
                seled  = paperMod.p_class.ToString()
            };

            ViewBag.treeMod = treeMod;
            return(View(paperMod));
        }
Пример #3
0
        //试卷合并
        public void Paper_Merge()
        {
            string ids = Request.Form["idchk"];

            if (string.IsNullOrEmpty(ids))
            {
                function.WriteErrMsg("请先选定需要合并的试卷"); return;
            }
            DataTable dt = paperBll.SelByIDS(ids);

            if (dt.Rows.Count < 1)
            {
                function.WriteErrMsg("选定的试卷不存在"); return;
            }
            M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers();

            paperMod.UserID = mu.UserID;
            paperMod.p_name = DateTime.Now.ToString("yyyyMMdd") + "合并试卷";
            paperMod.QIDS   = "";
            foreach (DataRow dr in dt.Rows)
            {
                paperMod.QIDS += dr["QIDS"] + ",";
            }
            if (string.IsNullOrEmpty(paperMod.QIDS.Replace(",", "")))
            {
                function.WriteErrMsg("试卷中没有添加题目,取消合并"); return;
            }
            paperMod.p_type  = Convert.ToInt32(dt.Rows[0]["p_type"]);
            paperMod.p_class = Convert.ToInt32(dt.Rows[0]["p_class"]);
            paperMod.QIDS    = StrHelper.RemoveDupByIDS(paperMod.QIDS);
            paperMod.QIDS    = StrHelper.PureIDSForDB(paperMod.QIDS);
            paperBll.Insert(paperMod);
            function.WriteSuccessMsg("试卷合并成功");
            return;
        }
Пример #4
0
        public ActionResult PaperCenter_Submit()
        {
            M_Temp            tempMod  = tempBll.SelModelByUid(mu.UserID, 10);
            M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers();

            if (string.IsNullOrEmpty(tempMod.Str1))
            {
                function.WriteErrMsg("试题蓝为空,无法生成试卷!"); return(null);
            }
            paperMod.p_name      = Request.Form["title_t"];
            paperMod.p_class     = 0;
            paperMod.p_Remark    = Request.Form["desc_t"];
            paperMod.p_UseTime   = DataConverter.CLng(Request.Form["usetime_t"]);
            paperMod.p_BeginTime = DateTime.Now;
            paperMod.p_endTime   = DateTime.Now.AddYears(1);
            paperMod.p_Style     = 2;
            paperMod.UserID      = mu.UserID;
            paperMod.QIDS        = tempMod.Str1;
            paperMod.QuestList   = Request.Form["qinfo_hid"];
            paperMod.Price       = DataConverter.CLng(Request.Form["price_t"]);
            int newid = paperBll.Insert(paperMod);

            //-------------------------
            tempMod.Str1 = "";
            tempBll.UpdateByID(tempMod);
            ViewBag.pname = paperMod.p_name;
            ViewBag.newid = newid;
            ViewBag.step  = 2;
            return(View("PaperCenter"));
        }
Пример #5
0
        public void Paper_Add()
        {
            M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers();

            if (Mid > 0)
            {
                paperMod = paperBll.SelReturnModel(Mid);
                if (paperMod.UserID != mu.UserID)
                {
                    function.WriteErrMsg("你无权修改该试卷"); return;
                }
            }
            paperMod.p_name      = Request.Form["p_name"];
            paperMod.p_class     = DataConvert.CLng(Request.Form["TreeTlp_Hid"]);
            paperMod.p_type      = DataConverter.CLng(Request.Form["p_type"]);
            paperMod.p_Remark    = Request.Form["p_Remark"];
            paperMod.p_UseTime   = DataConverter.CDouble(Request.Form["p_UseTime"]);
            paperMod.p_BeginTime = DataConverter.CDate(Request.Form["p_BeginTime"]);
            paperMod.p_endTime   = DataConverter.CDate(Request.Form["p_endTime"]);
            paperMod.p_Style     = DataConverter.CLng(Request.Form["p_Style"]);
            paperMod.TagKey      = Request.Form["tabinput"];
            if (paperMod.id > 0)
            {
                paperMod.UserID = mu.UserID;
                paperBll.UpdateByID(paperMod);
            }
            else
            {
                paperBll.Insert(paperMod);
            }
            function.WriteSuccessMsg("操作成功!", "Papers_System_Manage"); return;
        }
Пример #6
0
        public IActionResult Papers_Add()
        {
            int classid = DataConverter.CLng(RequestEx["TreeTlp_hid"]);

            if (classid < 1)
            {
                return(WriteErr("请选择试卷科目"));
            }
            M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid);

            if (paperMod == null)
            {
                paperMod = new M_Exam_Sys_Papers();
            }
            paperMod.p_name      = RequestEx["p_name"];
            paperMod.p_class     = classid;
            paperMod.p_type      = DataConverter.CLng(RequestEx["p_type"]);
            paperMod.p_rtype     = DataConverter.CLng(RequestEx["p_rtype"]);
            paperMod.p_Remark    = RequestEx["p_Remark"];
            paperMod.p_UseTime   = DataConverter.CDouble(RequestEx["p_UseTime"]);
            paperMod.p_BeginTime = DataConverter.CDate(RequestEx["p_BeginTime"]);
            paperMod.p_endTime   = DataConverter.CDate(RequestEx["p_endTime"]);
            paperMod.TagKey      = RequestEx["tabinput"];
            if (Mid > 0)
            {
                paperBll.UpdateByID(paperMod);
            }
            else
            {
                //paperMod.UserID = mu
                paperBll.GetInsert(paperMod);
            }
            return(WriteOK("操作成功", "Papers_System_Manage"));
        }
Пример #7
0
        public ActionResult Paper_QuestionManage()
        {
            if (!B_ARoleAuth.AuthCheckEx(ZLEnum.Auth.exam, "paper"))
            {
                return(null);
            }
            int Pid   = DataConverter.CLng(Request.QueryString["pid"]);
            int QType = DataConverter.CLng(Request.QueryString["qtype"]);
            M_Exam_Sys_Papers paperMod = paperBll.GetSelect(Pid);
            PageSetting       setting  = questBll.SelByIDS_SPage(CPage, PSize, paperMod.QIDS, QType);

            if (setting == null)
            {
                setting = new PageSetting()
                {
                    itemCount = 0
                };
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("Paper_QuestionManage_List", setting));
            }
            ViewBag.ptitle = StringHelper.SubStr(paperMod.p_name, 10);
            ViewBag.selids = "," + paperMod.QIDS + ",";
            return(View(setting));
        }
Пример #8
0
        public ActionResult Papers_System_Add()
        {
            if (!B_ARoleAuth.AuthCheckEx(ZLEnum.Auth.exam, "paper"))
            {
                return(null);
            }
            int NodeID = DataConverter.CLng(Request.QueryString["NodeID"]);
            M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid);

            if (paperMod != null)
            {
                ViewBag.title = "修改试卷";
            }
            else
            {
                paperMod = new M_Exam_Sys_Papers()
                {
                    p_class = NodeID == 0 ? 1 : NodeID
                };
                ViewBag.title = "添加试卷";
                if (NodeID > 0)
                {
                    ViewBag.title += "[" + classBll.GetSelect(NodeID).C_ClassName + "]";
                }
            }
            C_TreeTlpDP treeMod = GetTreeMod();

            if (paperMod.p_class > 0)
            {
                treeMod.seled = paperMod.p_class.ToString();
            }
            ViewBag.treeMod = treeMod;
            return(View(paperMod));
        }
Пример #9
0
 public VM_ExamDetail(M_UserInfo mu, M_Exam_Sys_Papers paperMod, HttpRequestBase Request)
 {
     this.mu       = mu;
     this.paperMod = paperMod;
     Action        = (Request.QueryString["action"] ?? "").ToLower();
     FlowID        = Request.QueryString["FlowID"] ?? "";
     QuestDT       = questBll.SelByIDSForExam(paperMod.QIDS, paperMod.id);//获取问题,自动组卷则筛选合适的IDS
     QuestDT.DefaultView.RowFilter = "";
     QuestDT_Hid = JsonConvert.SerializeObject(QuestDT.DefaultView.ToTable(false, "p_id,p_title,p_type,p_defaultScores,istoshare,pid".Split(',')));
     typeDT      = answerBll.GetTypeDT(QuestDT);
     ExTime      = DataConverter.CLng(paperMod.p_UseTime);
     if (Action.Equals("view"))//显示答案
     {
         AnswerDT = answerBll.SelByPid(mu.UserID, paperMod.id, FlowID);
         if (AnswerDT.Rows.Count < 1)
         {
             function.WriteErrMsg("你尚未完成答卷");
         }
         AnswerDT.DefaultView.RowFilter = "";
         Answer_Hid = JsonConvert.SerializeObject(AnswerDT.DefaultView.ToTable(true, "ID,QID,QType,QTitle,Answer,IsRight,Remark".Split(',')));
         answerMod  = answerBll.SelMainModel(FlowID);
         //-----显示得分
         //MySchool_T.Enabled = false;
         //MyClass_T.Enabled = false;
         //UName_T.Enabled = false;
         useTime    = "用时 " + (answerMod.CDate - answerMod.StartDate).TotalMinutes.ToString("f0") + " 分钟";
         totalScore = "得分:" + DataConverter.CLng(AnswerDT.Select("Remind=1")[0]["TotalScore"]);
     }
 }
        public void ExamDetail_Submit()
        {
            string               Qids       = Request.QueryString["qids"] ?? "";
            JArray               arr        = JsonConvert.DeserializeObject <JArray>(Request["QuestDT_Hid"]);
            M_UserInfo           mu         = tuserBll.GetLogin();
            M_Exam_Sys_Papers    paperMod   = paperBll.SelReturnModel(Mid);
            M_Exam_Answer        firstMod   = new M_Exam_Answer();
            List <M_Exam_Answer> answerList = new List <M_Exam_Answer>();
            bool   isfrist    = true; //首条记录用于存储批注信息,预估得分,人工批阅后才是真正得分
            int    totalscore = 0;    //
            string flowid     = DateTime.Now.ToString("yyyyMMddHHmmssfff");

            foreach (JObject obj in arr)
            {
                M_Exam_Answer answerMod = new M_Exam_Answer();
                answerMod.UserID    = mu.UserID;
                answerMod.UserName  = mu.UserName;
                answerMod.QID       = DataConverter.CLng(obj["p_id"].ToString());
                answerMod.QTitle    = obj["p_title"].ToString();
                answerMod.QType     = obj["p_Type"].ToString();
                answerMod.Score     = DataConverter.CLng(obj["p_defaultScores"].ToString());
                answerMod.Answer    = obj["answer"] == null ? "" : obj["answer"].ToString();
                answerMod.PaperID   = Mid;
                answerMod.PaperName = paperMod != null ? paperMod.p_name : "临时组卷";
                answerMod.FlowID    = flowid;
                answerMod           = CheckIsRight(answerMod);
                answerMod.Remind    = "0";
                answerMod.pid       = DataConverter.CLng(obj["pid"].ToString());
                if (answerMod.IsRight == RIGHT)
                {
                    totalscore += answerMod.Score;
                }
                if (isfrist)
                {
                    answerMod.Remind  = "1";
                    isfrist           = false;
                    firstMod          = answerMod;
                    firstMod.UserName = Request.Form["UName_T"];
                    if (string.IsNullOrEmpty(firstMod.UserName))
                    {
                        firstMod.UserName = mu.UserName;
                    }
                    firstMod.MySchool = Request.Form["MySchool_T"];
                    firstMod.MyClass  = Request.Form["MyClass_T"];
                }
                answerList.Add(answerMod);
            }
            firstMod.TotalScore = totalscore;
            foreach (M_Exam_Answer model in answerList)
            {
                model.StartDate = DateTime.Now.AddSeconds(-DataConverter.CLng(Request.Form["QuestTime_Hid"]));//开始答题时间
                answerBll.Insert(model);
            }
            string url = "ExamDetail?action=view&FlowID=" + flowid;

            url += Mid < 1 ? "" : "&ID=" + Mid;
            url += string.IsNullOrEmpty(Qids) ? "" : "&qids=" + Qids;
            function.WriteSuccessMsg("提交答案成功", url); return;
        }
        protected void Sure_Btn_Click(object sender, EventArgs e)
        {
            M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(PaperID);

            paperMod.QIDS      = Qids_Hid.Value;
            paperMod.QuestList = QInfo_Hid.Value;
            paperBll.UpdateByID(paperMod);
            function.WriteSuccessMsg("保存成功");
        }
Пример #12
0
        public ActionResult paper()
        {
            M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid);
            DataTable         QuestDT  = questBll.SelByIDSForExam(paperMod.QIDS, paperMod.id);//获取问题,自动组卷则筛选合适的IDS
            DataTable         typeDT   = ansBll.GetTypeDT(QuestDT);

            ViewBag.pname   = paperMod.p_name;
            ViewBag.questDt = QuestDT;
            ViewBag.typeDt  = typeDT;
            return(View());
        }
Пример #13
0
        //为试卷添加试题
        public int Paper_AddQids(int pid, string ids)
        {
            M_Exam_Sys_Papers paperMod = paperBll.GetSelect(pid);

            if (paperMod.UserID != mu.UserID)
            {
                return(Failed);
            }
            paperMod.QIDS = string.Join(",", ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
            paperBll.UpdateByID(paperMod);
            return(Success);
        }
        private void MyBind()
        {
            M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(PaperID);

            Title_T.Text = paperMod.p_name;
            QuestDT      = questBll.SelByIDSForExam(paperMod.QIDS, PaperID);//获取问题,自动组卷则筛选合适的IDS
            if (QuestDT != null)
            {
                QuestDT.DefaultView.RowFilter = "";
                DataTable typeDT = answerBll.GetTypeDT(QuestDT);
                MainRPT.DataSource = typeDT;
                MainRPT.DataBind();
            }
        }
        protected string GetExaName(string ExaID)
        {
            int intexa = DataConverter.CLng(ExaID);

            if (intexa > 0)
            {
                M_Exam_Sys_Papers pinfo = bps.GetSelect(intexa);
                return(pinfo.p_name);
            }
            else
            {
                return("");
            }
        }
Пример #16
0
        private VM_ExamDetail ExamDetail_MyBind()
        {
            M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid);

            if (paperMod == null)
            {
                return(null);
            }
            if (string.IsNullOrEmpty(paperMod.QIDS))
            {
                function.WriteErrMsg("该试卷没有添加题目!"); return(null);
            }
            VM_ExamDetail model = new VM_ExamDetail(mu, paperMod, Request);

            return(model);
        }
Пример #17
0
        public void MyBind()
        {
            M_Exam_Sys_Papers papermodel = paperBll.GetSelect(Pid);

            PTitle_L.Text    = StringHelper.SubStr(papermodel.p_name, 10);
            SelIDS_IDS.Value = "," + papermodel.QIDS + ",";
            DataTable dt = null;

            if (!string.IsNullOrEmpty(papermodel.QIDS))
            {
                dt = questBll.SelByIDS(papermodel.QIDS, QType, "*");
            }
            EGV.DataSource = dt;
            EGV.DataBind();
            function.Script(this, "ActiveTab(" + QType + ");");
        }
Пример #18
0
 protected void Dels_B_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(Request.Form["idchk"]))
     {
         M_Exam_Sys_Papers papermodel = paperBll.GetSelect(Pid);
         string            paper_qids = "," + papermodel.QIDS + ",";
         string[]          quesids    = Request.Form["idchk"].Split(',');
         foreach (var quesid in quesids)
         {
             if (paper_qids.Contains("," + quesid + ","))
             {
                 paper_qids = paper_qids.Replace("," + quesid + ",", ",");
             }
         }
         papermodel.QIDS = paper_qids.Trim(',');
         paperBll.UpdateByID(papermodel);
     }
     MyBind();
 }
Пример #19
0
        //试卷下题目管理
        public ActionResult Paper_QuestionManage()
        {
            int Pid   = DataConverter.CLng(Request.QueryString["pid"]);
            int QType = DataConverter.CLng(Request.QueryString["qtype"], 99); //题目类型
            M_Exam_Sys_Papers paperMod = paperBll.GetSelect(Pid);
            PageSetting       setting  = new PageSetting();

            if (!string.IsNullOrEmpty(paperMod.QIDS))
            {
                setting = questBll.SelByIDS(CPage, PSize, paperMod.QIDS, QType, "*");
            }
            else
            {
                setting.dt = new DataTable();
            }
            ViewBag.paperMod = paperMod;
            ViewBag.QType    = QType;
            return(View(setting));
        }
        //学生考试(根据条件动态组卷)
        public ActionResult ExamDetail()
        {
            string        Qids  = Request.QueryString["qids"] ?? "";
            VM_ExamDetail model = null;

            if (!string.IsNullOrEmpty(Qids))
            {
                M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers();
                paperMod.p_name    = "临时组卷";
                paperMod.QIDS      = Qids;
                paperMod.p_UseTime = 0;
                model = ExamDetail_MyBind(paperMod);
            }
            else
            {
                model = ExamDetail_MyBind();
            }
            return(View(model));
        }
Пример #21
0
        public ActionResult ViewPaperCenter()
        {
            if (!B_ARoleAuth.AuthCheckEx(ZLEnum.Auth.exam, "paper"))
            {
                return(null);
            }
            if (Mid < 1)
            {
                function.WriteErrMsg("请输入试卷ID"); return(null);
            }
            M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid);

            ViewBag.title   = paperMod.p_name;
            ViewBag.paperid = paperMod.id;
            ViewBag.desc    = paperMod.p_Remark;
            //获取问题,自动组卷则筛选合适的IDS
            DataTable questDt = questBll.SelByIDSForExam(paperMod.QIDS, Mid) ?? new DataTable();
            DataTable typeDt  = answerBll.GetTypeDT(questDt) ?? new DataTable();

            ViewBag.questDt = questDt;
            ViewBag.typeDt  = typeDt;
            return(View());
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     B_ARoleAuth.CheckEx(ZLEnum.Auth.content, "ContentMange");
     if (!IsPostBack)
     {
         GetQuesType();
         if (Mid > 0)
         {
             M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid);
             Label2.Text = "修改试卷";
             if (paperMod != null && paperMod.id > 0)
             {
                 txtPaperName.Text    = paperMod.p_name;
                 NodeID_Hid.Value     = paperMod.p_class.ToString();
                 ddType.SelectedValue = paperMod.p_type.ToString();
                 txtRemark.Text       = paperMod.p_Remark;
                 //ddStyle.SelectedValue = mps.p_Style.ToString();
                 //ddRtyle.SelectedValue = paperMod.p_type.ToString();
                 txtTime.Text       = paperMod.p_UseTime.ToString();
                 txtBegionTime.Text = paperMod.p_BeginTime.ToString();
                 txtEndTime.Text    = paperMod.p_endTime.ToString();
                 TagKey_T.Text      = paperMod.TagKey;
             }
         }
         else
         {
             Label2.Text = "添加试卷";
             if (NodeID > 0)
             {
                 NodeID_Hid.Value = NodeID.ToString();
                 Label2.Text     += "[" + nodeBll.GetSelect(DataConverter.CLng(NodeID_Hid.Value)).C_ClassName + "]";
             }
         }
         Call.SetBreadCrumb(Master, "<li><a href='" + customPath2 + "I/Main.aspx'>工作台</a></li><li><a href='Papers_System_Manage.aspx'>教育模块</a></li> <li><a href='Papers_System_Manage.aspx'>试卷管理</a></li><li>" + Label2.Text + "</li>");
     }
 }
        private VM_ExamDetail ExamDetail_MyBind(M_Exam_Sys_Papers paperMod = null)
        {
            M_UserInfo mu = tuserBll.GetLogin();

            if (Mid > 0)
            {
                paperMod = paperBll.SelReturnModel(Mid);
            }
            if (DateTime.Now < paperMod.p_BeginTime)
            {
                function.WriteErrMsg("还未到考试时间!"); return(null);
            }
            if (paperMod.p_endTime < DateTime.Now)
            {
                function.WriteErrMsg("考试时间已过!"); return(null);
            }
            if (string.IsNullOrEmpty(paperMod.QIDS))
            {
                function.WriteErrMsg("该试卷没有添加题目!"); return(null);
            }
            VM_ExamDetail model = new VM_ExamDetail(mu, paperMod, Request);

            return(model);
        }
Пример #24
0
        public void DownPaper()
        {
            string            qids      = Request["qids"] ?? "";
            string            PaperSize = Request["PaperSize"] ?? "A4";
            bool              Orient    = string.IsNullOrEmpty(Request["Orient"]) ? true : DataConverter.CBool(Request["Orient"]);
            M_Exam_Sys_Papers paperMod  = paperBll.SelReturnModel(Mid);

            if (paperMod == null)
            {
                function.WriteErrMsg("试卷不存在");
            }
            BH.HtmlHelper htmlHelp = new BH.HtmlHelper();
            StringWriter  sw       = new StringWriter();

            Server.Execute("/BU/Exam/Paper.aspx?id=" + paperMod.id, sw, false);
            string   html = sw.ToString();
            HtmlPage page = htmlHelp.GetPage(html);

            html = page.Body.ExtractAllNodesThatMatch(new HasAttributeFilter("id", "paper"), true).ToHtml();
            string wordDir  = "/Log/Storage/Exam/Paper/";
            string wordPath = wordDir + paperMod.id + ".docx";
            string ppath    = Server.MapPath(wordPath);

            if (!Directory.Exists(Server.MapPath(wordDir)))
            {
                Directory.CreateDirectory(Server.MapPath(wordDir));
            }
            MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(sw.ToString()));             //convert stream 2 string

            using (MemoryStream generatedDocument = new MemoryStream())
            {
                using (WordprocessingDocument doc = WordprocessingDocument.Create(generatedDocument, WordprocessingDocumentType.Document))
                {
                    MainDocumentPart mainPart = doc.MainDocumentPart;
                    if (mainPart == null)
                    {
                        mainPart = doc.AddMainDocumentPart();
                        new Document(new Body()).Save(mainPart);
                    }
                    HtmlConverter converter = new HtmlConverter(mainPart);

                    //生成格式A4,A3
                    Body docBody = mainPart.Document.Body;
                    SectionProperties sectionProperties = new SectionProperties();
                    PageSize          pageSize          = new PageSize();
                    PageMargin        pageMargin        = new PageMargin();
                    //默认为16k大小
                    Columns columns = new Columns()
                    {
                        Space = "220"
                    };                                                //720
                    DocGrid docGrid = new DocGrid()
                    {
                        LinePitch = 100
                    };                                                  //360
                    GetPageSetting(ref pageSize, ref pageMargin, PaperSize, Orient);
                    sectionProperties.Append(pageSize, pageMargin, columns, docGrid);
                    docBody.Append(sectionProperties);

                    var paragraphs = converter.Parse(html);
                    for (int i = 0; i < paragraphs.Count; i++)
                    {
                        docBody.Append(paragraphs[i]);
                    }
                    mainPart.Document.Save();
                }
                SafeC.SaveFile(wordDir, paperMod.id + ".docx", generatedDocument.ToArray());
            }
            SafeSC.DownFile(wordPath, paperMod.p_name + ".docx");
        }