public JsonResult SaveSort(int pid, int id, string sname, string df, string bks = "", string hbt = "", string tc = "", string wp = "") { Cde_IndexSort sort; if (id == 0) { sort = new Cde_IndexSort(); sort.ParentId = pid; sort.SortName = sname; sort.IndexDefine = df; sort.Books = bks; sort.Habits = hbt; sort.TrainCourse = tc; sort.WorkPractice = wp; sort.TenantId = CurrentUser.TenantId; if (sort.ParentId == 0) { sort.LevelPath = sort.SortName; } else { var p = _sortManager.GetSort(sort.ParentId); sort.LevelPath = p.SortName + "/" + sort.SortName; } _sortManager.AddSort(sort); } else { sort = _sortManager.GetSort(id); sort.ParentId = pid; if (sort.TenantId != CurrentTenant.TenantId) { return(Json(new { result = 0, errorMsg = RetechWing.LanguageResources.TalnetUI.CdeQuestion.LongStr5 }, JsonRequestBehavior.DenyGet)); } if (sort.ParentId == 0) { sort.LevelPath = sort.SortName; } else { var p = _sortManager.GetSort(sort.SortId); sort.LevelPath = p.SortName + "/" + sort.SortName; } sort.SortName = sname; sort.IndexDefine = df; sort.Books = bks; sort.Habits = hbt; sort.TrainCourse = tc; sort.WorkPractice = wp; _sortManager.UpdateSort(sort); } return(Json(new { result = 1 }, JsonRequestBehavior.DenyGet)); }
public ActionResult EditSort(int sortId) { var model = _sortManager.GetSort(sortId); if (model == null || model.TenantId != CurrentUser.TenantId) { model = new Cde_IndexSort(); } ViewBag.parentId = model.ParentId; return(View(model)); }
public ActionResult EditSecondSort(int sortId, int parentId) { var model = _sortManager.GetSort(sortId); if (model == null || model.TenantId != CurrentUser.TenantId) { model = new Cde_IndexSort(); ViewBag.pid = parentId; } else { ViewBag.pid = model.ParentId; } ViewBag.fsorts = _sortManager.GetFirstSorts(CurrentUser.TenantId); return(View(model)); }
public JsonResult ImportQuestion(int saveflag = -1) { try { int needloadSort = 0; if (Request.Files.Count == 0 || Request.Files[0] == null || Request.Files[0].ContentLength == 0) { return(Json(new { result = 0, msg = RetechWing.LanguageResources.Notes.NoteLanguage.PleaseChoose + "Excel" + RetechWing.LanguageResources.TalnetUI.CdeQuestion.File }, "text/html", JsonRequestBehavior.DenyGet)); } var file = Request.Files[0]; if (!file.FileName.EndsWith(".xls", StringComparison.CurrentCultureIgnoreCase)) { //不是Excel文件 return(Json(new { result = 0, msg = RetechWing.LanguageResources.Notes.NoteLanguage.PleaseChoose + "Excel" + RetechWing.LanguageResources.TalnetUI.CdeQuestion.File }, "text/html", JsonRequestBehavior.DenyGet)); } string path = Server.MapPath("~/UploadFiles/tmp/"); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } var filename = path + Guid.NewGuid() + ".xls"; file.SaveAs(filename); IWorkbook workbook = Factory.GetWorkbook(filename, System.Globalization.CultureInfo.CurrentCulture); DataSet ds = workbook.GetDataSet(GetDataFlags.FormattedText); if ((ds.Tables.Count < 1) || (!ds.Tables[0].TableName.StartsWith("Sheet1"))) { return(Json(new { result = 0, msg = "Excel" + RetechWing.LanguageResources.TalnetUI.CdeQuestion.LongStr1 }, "text/html", JsonRequestBehavior.DenyGet)); } DataTable dt = ds.Tables[0]; //把所有的指标全部找出来 var allIndexs = _sortManager.GetSorts(CurrentTenant.TenantId); //记录问题提干所在的行 var questions = new Dictionary <int, Cde_IndexQuestion>(); for (int i = 0; i < dt.Rows.Count; i++) { var question = new Cde_IndexQuestion(); question.TenantId = CurrentTenant.TenantId; if (dt.Rows[i][0] != null && dt.Rows[i][0] != DBNull.Value && dt.Rows[i][0].ToString() != "") { questions.Add(i, question); } } var list = questions.Keys.ToList(); for (int i = 0; i < questions.Count; i++) { int rowIndex = list[i]; //questions[rowIndex].Order = int.Parse(dt.Rows[rowIndex][0].ToString()); questions[rowIndex].QuestionType = 0; //处理指标 var sortName1 = dt.Rows[rowIndex].Field <string>(RetechWing.LanguageResources.TalnetUI.CdeQuestion.ClassStr); if (string.IsNullOrEmpty(sortName1)) { return(Json(new { result = 0, msg = RetechWing.LanguageResources.TalnetUI.CdeQuestion.The + (rowIndex + 1) + RetechWing.LanguageResources.TalnetUI.CdeQuestion.LongStr4 + RetechWing.LanguageResources.TalnetUI.CdeQuestion.ClassStr }, "text/html", JsonRequestBehavior.DenyGet)); } var sort1 = allIndexs.FirstOrDefault(p => p.SortName == sortName1 && p.ParentId == 0); if (sort1 == null) { needloadSort = 1; sort1 = new Cde_IndexSort() { SortName = sortName1, ParentId = 0, LevelPath = sortName1, TenantId = CurrentTenant.TenantId, IsDelete = 0 }; allIndexs.Add(sort1); _sortManager.AddSort(sort1); } var sortName2 = dt.Rows[rowIndex].Field <string>(RetechWing.LanguageResources.TalnetUI.CdeQuestion.ClassStr1); if (string.IsNullOrEmpty(sortName2)) { return(Json(new { result = 0, msg = RetechWing.LanguageResources.TalnetUI.CdeQuestion.The + (rowIndex + 1) + RetechWing.LanguageResources.TalnetUI.CdeQuestion.LongStr2 + RetechWing.LanguageResources.TalnetUI.CdeQuestion.ClassStr1 }, "text/html", JsonRequestBehavior.DenyGet)); } var sort2 = allIndexs.FirstOrDefault(p => p.SortName == sortName2 && p.ParentId > 0); if (sort2 == null) { needloadSort = 1; sort2 = new Cde_IndexSort() { SortName = sortName2, ParentId = sort1.SortId, LevelPath = sortName1 + "/" + sortName2, TenantId = CurrentTenant.TenantId, IsDelete = 0 }; allIndexs.Add(sort2); _sortManager.AddSort(sort2); } questions[rowIndex].SortId = sort1.SortId; questions[rowIndex].SecondSortId = sort2.SortId; questions[rowIndex].QuestionName = dt.Rows[rowIndex]["题目"].ToString(); if (string.IsNullOrEmpty(questions[rowIndex].QuestionName)) { return(Json(new { result = 0, msg = RetechWing.LanguageResources.TalnetUI.CdeQuestion.The + (rowIndex + 2) + RetechWing.LanguageResources.TalnetUI.CdeQuestion.LongStr3 }, "text/html", JsonRequestBehavior.DenyGet)); } questions[rowIndex].IsDelete = 0; questions[rowIndex].CreateTime = DateTime.Now; questions[rowIndex].UserId = CurrentUser.UserId; int maxIndex = i == list.Count - 1 ? dt.Rows.Count : list[i + 1]; //if (maxIndex == rowIndex) //{ // return Json(new { result = 0, msg = "第"+(rowIndex+1)+"行的题目没有选项"},"text/html", JsonRequestBehavior.DenyGet); //} for (int j = rowIndex; j < maxIndex; j++) { if (questions[rowIndex].QuestionType == 2) { continue; } var answer = new Cde_IndexQuestionAnswer() { OrderChar = dt.Rows[j]["答案序号"].ToString(), Answer = dt.Rows[j]["答案内容"].ToString(), Score = dt.Rows[j]["分值"].ToString().GetInt32(0) }; questions[rowIndex].Answers.Add(answer); } if (questions[rowIndex].Answers.Count == 0) { //添加默认选项 questions[rowIndex].Answers.Add(new Cde_IndexQuestionAnswer() { Answer = RetechWing.LanguageResources.TalnetUI.CdeQuestion.VeryAgree, OrderChar = "A", Score = 5 }); questions[rowIndex].Answers.Add(new Cde_IndexQuestionAnswer() { Answer = RetechWing.LanguageResources.TalnetUI.CdeQuestion.MoreAgree, OrderChar = "B", Score = 4 }); questions[rowIndex].Answers.Add(new Cde_IndexQuestionAnswer() { Answer = RetechWing.LanguageResources.TalnetUI.CdeQuestion.General, OrderChar = "C", Score = 3 }); questions[rowIndex].Answers.Add(new Cde_IndexQuestionAnswer() { Answer = RetechWing.LanguageResources.TalnetUI.CdeQuestion.VeryNoAgree, OrderChar = "D", Score = 2 }); questions[rowIndex].Answers.Add(new Cde_IndexQuestionAnswer() { Answer = RetechWing.LanguageResources.TalnetUI.CdeQuestion.MoreNoAgree, OrderChar = "E", Score = 1 }); } //验证选项的多少 if (questions[rowIndex].Answers.Count > 26) { return(Json(new { result = 0, msg = RetechWing.LanguageResources.TalnetUI.CdeQuestion.The + (rowIndex + 1) + RetechWing.LanguageResources.TalnetUI.CdeQuestion.LongStr4 + RetechWing.LanguageResources.Survey.SurveyLanguage.OptionsTooMany }, "text/html", JsonRequestBehavior.DenyGet)); } if (questions[rowIndex].Answers.Count < 2) { return(Json(new { result = 0, msg = RetechWing.LanguageResources.TalnetUI.CdeQuestion.The + (rowIndex + 1) + RetechWing.LanguageResources.TalnetUI.CdeQuestion.LongStr4 + RetechWing.LanguageResources.Survey.SurveyLanguage.OptionsTooLittle }, "text/html", JsonRequestBehavior.DenyGet)); } } _cdeQuestionManager.AddQuestions(questions.Values.ToArray()); try { System.IO.File.Delete(filename); } catch (Exception ex) { LogHelper.WriteLog(RetechWing.LanguageResources.TalnetUI.CdeQuestion.Nullfile + filename + RetechWing.LanguageResources.Exam.Exampaper.DeleteFail, ex); } if (saveflag == 0) { return(Json(new { result = 1, msg = RetechWing.LanguageResources.Exam.Exampaper.ImportSuccess, list = questions.Values.ToArray() }, "text/html;charset=utf-8", JsonRequestBehavior.DenyGet)); } return(Json(new { result = 1, needloadSort, msg = RetechWing.LanguageResources.Exam.Exampaper.ImportSuccess }, "text/html", JsonRequestBehavior.DenyGet)); } catch (Exception) { return(Json(new { result = 0, msg = "Excel" + RetechWing.LanguageResources.TalnetUI.CdeQuestion.LongStr1 }, "text/html", JsonRequestBehavior.DenyGet)); } }