public ActionResult GetSubmitedZy(int pageIndex, int pageSize) { int totalCount = 0; List <dto_Zy> list = null; List <int> ids = B_Answer.GetSubmitedZyIds(UserId, pageIndex, pageSize, out totalCount); if (ids != null) { list = new List <dto_Zy>(); ids.ForEach(a => { list.Add(B_ZyRedis.GetZy(a)); }); } if (list != null) { foreach (var l in list) { //隐藏真实Id l.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Zy, l.Id); dto_User u = B_UserRedis.GetUser(l.UserId); l.UserName = u.UserName; l.TrueName = u.TrueName; l.Id = 0; } } ViewBag.ZyList = list; ViewBag.PageCount = Util.GetTotalPageCount(totalCount, pageSize); return(PartialView()); }
public ActionResult GetRelatedUserZy(int pageIndex, int pageSize) { int totalCount = 0; int[] RUsers = B_User.GetRelatedUser(UserId); List <dto_Zy> list = B_Zy.GetZyList(RUsers, pageIndex, pageSize, out totalCount); if (list != null) { List <int> ids = B_Answer.GetSubmitedZyIds(UserId, list.Select(a => a.Id).ToArray()); foreach (var l in list) { l.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Zy, l.Id); string subName = ""; Const.Subjects.TryGetValue(l.SubjectId, out subName); l.SubjectName = subName; l.TypeName = l.Type == 0 ? "题库" : "自传"; dto_User u = B_UserRedis.GetUser(l.UserId); l.UserName = u.UserName; l.TrueName = u.TrueName; l.Submited = ids == null ? false : ids.Exists(a => a == l.Id); //隐藏真实Id l.Id = 0; } } ViewBag.RelateUserCount = RUsers == null ? 0 : RUsers.Length; ViewBag.ZyList = list; ViewBag.PageCount = Util.GetTotalPageCount(totalCount, pageSize); return(PartialView()); }
/// <summary> /// 获取已提交作业 /// </summary> /// <param name="lastId"></param> /// <param name="count"></param> /// <returns></returns> public ActionResult GetSubmitedZy(long lastId, int count) { int last = lastId == 0 ? 99999999 : IdNamingHelper.Decrypt(IdNamingHelper.IdTypeEnum.Zy, lastId); List <dto_Zy> list = null; List <int> ids = B_Answer.GetSubmitedZyIds(UserId, last, count); if (ids != null) { list = new List <dto_Zy>(); ids.ForEach(a => { list.Add(B_ZyRedis.GetZy(a)); }); } if (list != null) { foreach (var l in list) { //隐藏真实Id l.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Zy, l.Id); dto_User u = B_UserRedis.GetUser(l.UserId); l.UserName = u.UserName; l.TrueName = u.TrueName; l.Id = 0; } } ViewBag.ZyList = list; return(PartialView()); }
public ActionResult GetQuestionAndAnswers(int courseId, long zyId, int studentId) { int id = IdNamingHelper.Decrypt(IdNamingHelper.IdTypeEnum.Zy, zyId); dto_Zy zy = B_ZyRedis.GetZy(id); T_Answer answer = null; if (zy.UserId == 0) { return(PartialView()); } else { answer = B_Answer.GetAnswer(id, (studentId == 0 ? UserId : studentId)); } List <dto_UserAnswer> ansl = null; if (answer != null) { ViewBag.PicPrefix = Util.GetAppSetting("UploadUrlPrefix") + "/"; ViewBag.AnswerImg = answer.AnswerImg; ansl = JsonConvert.DeserializeObject <List <dto_UserAnswer> >(answer.AnswerJson); } List <dto_Question> ql = B_ZyRedis.GetQdbZyQuestions(courseId, id); if (ql != null) { foreach (dto_Question q in ql) { if (!q.haschildren && Const.OBJECTIVE_QUES_TYPES.Contains(q.ptypeid)) { q.SAnswer = ansl == null ? "" : ansl.Find(b => b.QId == q.id).Answer; } //隐藏真实Id q.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Ques, q.id); q.id = 0; if (q.Children != null && q.Children.Count > 0) { q.Children.ForEach(a => { if (Const.OBJECTIVE_QUES_TYPES.Contains(a.ptypeid)) { a.SAnswer = ansl == null ? "" : ansl.Find(b => b.QId == a.id).Answer; } a.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Ques, a.id); a.id = 0; }); } } } ViewBag.QuesList = ql; return(PartialView()); }
public JsonResult GetAnswerPicList(long zyId) { int id = IdNamingHelper.Decrypt(IdNamingHelper.IdTypeEnum.Zy, zyId); T_Answer ans = B_Answer.GetAnswer(id, UserId); string[] imglist2 = null; if (ans != null && !string.IsNullOrEmpty(ans.AnswerImg)) { string[] imglist = ans.AnswerImg.Split(','); imglist2 = new string[imglist.Length]; for (int i = 0; i < imglist.Length; i++) { imglist2[i] = Util.GetAppSetting("UploadUrlPrefix") + "/" + imglist[i]; } } dto_AjaxJsonResult <string> r = new dto_AjaxJsonResult <string>(); r.code = AjaxResultCodeEnum.Success; r.message = ""; r.data = ((ans == null || string.IsNullOrEmpty(ans.AnswerImg)) ? "" : string.Join(",", imglist2)); return(Json(r)); }
protected void Page_Load(object sender, EventArgs e) { B_User.CheckIsLogged(); if (!IsPostBack) { int SID = string.IsNullOrEmpty(Request.QueryString["SID"]) ? 0 : DataConverter.CLng(Request.QueryString["SID"]); int uid = buser.GetLogin().UserID; B_Answer ban = new B_Answer(); //if (SID > 0) //{ // tblAnswers = ban.Sel("Surveyid=" + SID + " And UserID=" + uid, ""); // dt = bans.Sel("Userid=" + uid + " And Sid=" + SID, ""); // int sta = Convert.ToInt32(dt.Rows[0]["Status"].ToString()); // string str = ""; // switch (sta) // { // case 0: // str = "未审核"; // break; // case 1: // str = "已审核"; // break; // case 2: // str = "已录取"; // break; // case -1: // str = "未提交"; // break; // case -2: // str = "已解锁"; // break; // default: // break; // } // lbStatus.Text = str; //} } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { M_UserInfo mu = buser.GetLogin(); M_Survey info = surBll.GetSurveyBySid(Sid); if (Sid <= 0) { function.WriteErrMsg("缺少问卷投票的ID参数!", Request.UrlReferrer.ToString()); } if (info == null || info.IsNull) { function.WriteErrMsg("缺少问卷!!"); } if (!B_Survey.HasQuestion(Sid)) { function.WriteErrMsg("该投票没有设定投票问题!"); } if (info.NeedLogin) { B_User.CheckIsLogged(Request.RawUrl); } if (info.IsCheck) { regVcodeRegister.Visible = true; } if (!info.IsOpen) { function.WriteErrMsg("对不起,该问卷尚未启用!!", Request.UrlReferrer.ToString()); } if (info.StartTime > DateTime.Now || info.EndTime < DateTime.Now) { function.WriteErrMsg("对不起,每年填写或报名时间是" + info.StartTime.ToLongDateString() + "到" + info.EndTime.ToLongDateString()); } //判断是否已参与了该问卷 if (B_Survey.HasAnswerBySID(Sid, mu.UserID)) { function.WriteErrMsg("您已提交过该问卷!"); } CheckIP(info); Random_Hid.Value = GetRandomID().ToString(); DataTable tblAnswers = new DataTable(); if (Request.QueryString["UID"] != null && Request.QueryString["PTime"] != null) { int uid = DataConverter.CLng(Request.QueryString["UID"]); string time = Server.UrlDecode(Request.QueryString["PTime"]); tblAnswers = B_Answer.GetUserAnswers(Sid, uid, time); } if (tblAnswers.Rows.Count > 0) { btnSubmit.Visible = false; btnExport.Visible = true; } else { btnExport.Visible = false; btnSubmit.Visible = true; } this.SurveyName_L.Text = info.SurveyName; this.Description_L.Text = info.Description; this.CreateDate_L.Text = info.CreateDate.ToString("yyyy-MM-dd"); qtitle.Visible = !string.IsNullOrEmpty(info.Description); StringBuilder sb = new StringBuilder(); IList <M_Question> list = new List <M_Question>(); list = B_Survey.GetQueList(Sid); for (int i = 0; i < list.Count; i++) { if (list[i].IsNull) { sb.AppendLine("<li id='mao_" + i + "' name='mao_" + i + " '>"); IsNull_H.Value += "vote_" + i + ","; } else { sb.AppendLine("<li id='mao_" + i + "' name='mao_" + i + " '>"); } sb.AppendLine("<table id='tbl_" + i + "' style='width:100%;'>"); sb.AppendLine("<tr style='border-bottom:1px solid #ddd;padding-bottom:5px;'><th>" + (i + 1) + ". " + list[i].QuestionTitle + (list[i].IsNull ? "<span style='color:#f00;margin-left:10px;'>*</span>" : "") + "</th></tr>"); sb.AppendLine("<tr><td>" + list[i].QuestionContent + "</td></tr>"); List <string> optionlist = new List <string>(); JObject jobj = JsonConvert.DeserializeObject <JObject>(list[i].Qoption); string[] OptionValue = list[i].TypeID == 0 ? jobj["sel_op_body"].ToString().Split(',') : jobj["text_str_dp"].ToString().Split(','); string optiontype = list[i].TypeID == 0 ? jobj["sel_type_rad"].ToString() : jobj["text_type_rad"].ToString(); if (tblAnswers.Rows.Count > 0) { sb.AppendLine(SetAnswers(i, list[i].TypeID, list[i].QuestionID, tblAnswers, OptionValue)); } else { sb.AppendLine(SetOptions(i, optiontype, OptionValue)); } sb.AppendLine("</table></li>"); } IsNull_H.Value = IsNull_H.Value.Trim(','); ltlResultHtml.Text = sb.ToString(); } }
/// <summary> /// 上传答案图片 /// 因为ajaxfileupload限制,这里不能返回json,所以特殊处理返回string /// </summary> /// <param name="zyId"></param> /// <returns></returns> public string UploadAnswerImage(long zyId) { dto_AjaxJsonResult <string> r = new dto_AjaxJsonResult <string>(); int id = IdNamingHelper.Decrypt(IdNamingHelper.IdTypeEnum.Zy, zyId); dto_Zy zy = B_ZyRedis.GetZy(id); //试用作业验证 if (zy.UserId == 0) { r.code = AjaxResultCodeEnum.Error; r.message = "试用作业仅用于数据展示,不允许进行操作!<br/>注册成为正式用户后即可体验所有功能!"; r.data = ""; return(JsonConvert.SerializeObject(r)); } #region 访问权限验证 dto_AjaxJsonResult <dto_Zy> r1 = AccessJudge(UserId, zy); if (r1.code == AjaxResultCodeEnum.Error) { r.code = AjaxResultCodeEnum.Error; r.message = r1.message; r.data = ""; return(JsonConvert.SerializeObject(r)); } #endregion //作业提交验证 T_Answer ans = B_Answer.GetAnswer(id, UserId); if (ans != null && ans.Submited) { r.code = AjaxResultCodeEnum.Error; r.message = "作业已提交,不能再上传答案图片!"; r.data = ""; return(JsonConvert.SerializeObject(r)); } //上传 HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; r = ZyImgUploader.Upload(files); bool isok = false; if (r.code == AjaxResultCodeEnum.Success) { //入库 if (ans == null) { T_Answer AnsAdd = new T_Answer() { ZyId = zy.Id, ZyType = zy.Type, StudentId = UserId, Submited = false, CreateDate = DateTime.Now, AnswerJson = "", AnswerImg = r.data, Ip = ClientUtil.Ip, IMEI = ClientUtil.IMEI, MobileBrand = ClientUtil.MobileBrand, SystemType = Request.Browser.Platform.ToString(), Browser = Request.Browser.Browser.ToString() }; isok = B_Answer.InsertZyAnswer(AnsAdd); } else { isok = B_Answer.AddZyImg(zy.Id, UserId, r.data); } } if (!isok) { r.code = AjaxResultCodeEnum.Error; r.message = "入库失败!"; r.data = ""; return(JsonConvert.SerializeObject(r)); } r.data = Util.GetAppSetting("UploadUrlPrefix") + "/" + r.data; return(JsonConvert.SerializeObject(r)); }
/// <summary> /// 提交答案 /// 仍然做各种状态判断 /// </summary> /// <param name="zyId"></param> /// <param name="questions"></param> /// <param name="answers"></param> /// <returns></returns> public JsonResult SubmitAnswer(long zyId, string questions, string answers) { dto_AjaxJsonResult <string> r = new dto_AjaxJsonResult <string>(); int id = IdNamingHelper.Decrypt(IdNamingHelper.IdTypeEnum.Zy, zyId); dto_Zy zy = B_ZyRedis.GetZy(id); //试用作业验证 if (zy.UserId == 0) { r.code = AjaxResultCodeEnum.Error; r.message = "试用作业仅用于数据展示,不允许进行操作!<br/>注册成为正式用户后即可体验所有功能!"; r.data = ""; return(Json(r)); } #region 访问权限验证 dto_AjaxJsonResult <dto_Zy> r1 = AccessJudge(UserId, zy); if (r1.code == AjaxResultCodeEnum.Error) { r.code = AjaxResultCodeEnum.Error; r.message = r1.message; r.data = ""; return(Json(r)); } #endregion //作业提交验证 T_Answer ans = B_Answer.GetAnswer(id, UserId); if (ans != null && ans.Submited) { r.code = AjaxResultCodeEnum.Error; r.message = "作业已提交,不能重复提交!"; r.data = ""; return(Json(r)); } //todo submit List <string> submitQlist = questions.Split(',').ToList(); List <string> submitAlist = string.IsNullOrEmpty(answers) ? new List <string>() : answers.Split(',').ToList(); if (submitQlist.Count != submitAlist.Count) { r.code = AjaxResultCodeEnum.Error; r.message = "试题信息有误,提交失败!"; r.data = ""; return(Json(r)); } string qjson = B_ZyRedis.GetQdbZyQuesJson(id); List <dto_ZyQuestion> ql = JsonConvert.DeserializeObject <List <dto_ZyQuestion> >(qjson); List <dto_UserAnswer> al = new List <dto_UserAnswer>(); ql.ForEach(a => { string CAnswer = ""; if (Const.OBJECTIVE_QUES_TYPES.Contains(a.PTypeId)) { if (a.QId == a.PQId) { CAnswer = B_QuesRedis.GetQuestion(zy.CourseId, a.QId).quesanswer; } else { CAnswer = B_QuesRedis.GetQuestion(zy.CourseId, a.PQId).Children.Find(b => b.id == a.QId).quesanswer; } } int i = submitQlist.IndexOf(IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Ques, a.QId).ToString()); al.Add(new dto_UserAnswer() { QId = a.QId, PTypeId = a.PTypeId, Score = a.Score, Answer = (i == -1 ? "" : submitAlist[i]), CAnswer = CAnswer, Point = 0 }); }); bool isok = false; T_Answer answer = new T_Answer() { ZyId = id, ZyType = zy.Type, StudentId = UserId, Submited = true, CreateDate = DateTime.Now, AnswerJson = JsonConvert.SerializeObject(al), AnswerImg = "", Ip = ClientUtil.Ip, IMEI = ClientUtil.IMEI, MobileBrand = ClientUtil.MobileBrand, SystemType = Request.Browser.Platform.ToString(), Browser = Request.Browser.Browser.ToString() }; if (ans != null) { isok = B_Answer.UpdateAnswerJson(id, UserId, answer.AnswerJson); } else { isok = B_Answer.InsertZyAnswer(answer); } if (isok) { //写统计表 B_Analyze.GenerateAnalyze(answer); r.code = AjaxResultCodeEnum.Success; r.message = ""; r.data = ""; return(Json(r)); } else { r.code = AjaxResultCodeEnum.Error; r.message = "提交入库失败!"; r.data = ""; return(Json(r)); } }