public ActionResult Edit(int id, TN_Question model) { var db = DB.GetContext(); var question = db.TN_Question.SingleOrDefault(m => m.ID == id); question.Content = model.Content; question.IsMultiChoose = model.IsMultiChoose; db.SaveChanges(); return(RedirectToAction("Edit", new { id = id })); }
public ActionResult Create(TN_Question model) { if (ModelState.IsValid) { if (string.IsNullOrEmpty(model.Content)) { ModelState.AddModelError("", "Bạn phải nhập vào nội dung câu hỏi"); } else { var db = DB.GetContext(); db.TN_Question.AddObject(model); db.SaveChanges(); return(RedirectToAction("Edit", new { id = model.ID })); } } return(View(model)); }
public ActionResult CreateQuestionFromExcelFile(int examID, HttpPostedFileBase file) { try { if (file != null) { var fileUtil = new FileUtil(); string folderUpload = @"D:\FileUploads\"; if (!fileUtil.CheckDirectoryExists(folderUpload)) { fileUtil.CreateDirectory(folderUpload); } string fileName = "nganhangcauhoi" + file.FileName.Substring(file.FileName.LastIndexOf(".")); file.SaveAs(folderUpload + fileName); // đọc file excel và lưu vào csdl //Stream streamDictionary = GetResourceFileStream(folderUpload + fileName); using (var document = SpreadsheetDocument.Open(folderUpload + fileName, false)) { var workbookPart = document.WorkbookPart; var workbook = workbookPart.Workbook; var sheets = workbook.Descendants <Sheet>(); foreach (var sheet in sheets) { if (sheet.SheetId.HasValue && sheet.SheetId.ToString().Equals("1")) { #region Read excel var worksheetPart = (WorksheetPart)workbookPart.GetPartById(sheet.Id); var sharedStringPart = workbookPart.SharedStringTablePart; var values = sharedStringPart.SharedStringTable.Elements <SharedStringItem>().ToArray(); var cells = worksheetPart.Worksheet.Descendants <Cell>(); var rows = worksheetPart.Worksheet.Descendants <Row>(); TN_Question questionTemp = new TN_Question(); int countDataNull = 0; bool flag = false; foreach (Row row in rows) { var question = new TN_Question(); var answer = new TN_Answer(); foreach (Cell c in row.Elements <Cell>()) { string value = string.Empty; if ((c.DataType != null) && (c.DataType == CellValues.SharedString)) { int ssid = int.Parse(c.CellValue.Text); value = sharedStringPart.SharedStringTable.ChildElements[ssid].InnerText; } else if (c.CellValue != null) { value = c.CellValue.Text; } // xử lý ban đầu value = value.TrimEnd('%'); if (c.CellReference == "A" + row.RowIndex) { if (!string.IsNullOrEmpty(value)) { question.Content = value; answer.Content = value; countDataNull = 0; } else { countDataNull++; break; } } if (c.CellReference == "B" + row.RowIndex) { if (!string.IsNullOrEmpty(value)) { answer.IsCorrect = true; } else { answer.IsCorrect = false; } } if (c.CellReference == "C" + row.RowIndex && !string.IsNullOrEmpty(value)) { if (!string.IsNullOrEmpty(value)) { question.Type = value; flag = true; } } } if (countDataNull == 0) { if (flag) { question.IsMultiChoose = false; db.TN_Question.AddObject(question); questionTemp = question; var questionExam = new TN_ExamQuestion() { ExamID = examID, QuestionID = question.ID }; db.TN_ExamQuestion.AddObject(questionExam); flag = false; } else { answer.QuestionID = questionTemp.ID; db.TN_Answer.AddObject(answer); } db.SaveChanges(); } } #endregion break; } } } ViewBag.Success = true; } } catch (Exception ex) { } return(View(new List <TN_Exam>())); }