public IActionResult addAnswer([FromBody] ResultQuestion model)
 {
     try
     {
         return(new ObjectResult(_resultQuestion.Add(model)));
     }
     catch
     {
         return(BadRequest());
     }
 }
Ejemplo n.º 2
0
        public ActionResult uploadQuestion(int id)
        {
            var httpRequest = HttpContext.Request.Form;
            //upload file
            var url = _file.UploadFile(httpRequest.Files[0]);
            //var idLesson =httpRequest.Keys[0];
            string sWebRootFolder = _hostingEnv.WebRootPath;
            //string sFileName = @"test.xlsx";
            FileInfo file     = new FileInfo(Path.Combine(sWebRootFolder + url));
            int      errorRow = 0;

            try
            {
                using (ExcelPackage package = new ExcelPackage(file))
                {
                    StringBuilder sb = new StringBuilder();
                    //get sheet one
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
                    int            rowCount  = worksheet.Dimension.Rows;
                    int            ColCount  = worksheet.Dimension.Columns;
                    for (int row = 3; row <= rowCount; row++)
                    {
                        errorRow = row;
                        int idQuestion = _question.addQuestion(new Question
                        {
                            Content = worksheet.Cells[row, 1].Value.ToString(),
                            Level   = Int32.Parse(worksheet.Cells[row, 2].Value.ToString()),
                            ExamId  = id,
                        });
                        if (idQuestion != -1)
                        {
                            //print error
                            string comlumnError = null;
                            try
                            {
                                var resultRight = worksheet.Cells[row, 3].Value.ToString();
                                for (int column = 4; column <= ColCount; column++)
                                {
                                    comlumnError = column.ToString();
                                    _resultQuestion.Add(new ResultQuestion
                                    {
                                        Content    = worksheet.Cells[row, column].Value.ToString(),
                                        QuestionId = idQuestion,
                                        Status     = resultRight == worksheet.Cells[row, column].Value.ToString() ? true : false
                                    });
                                }
                            }
                            catch
                            {
                                return(new JsonResult(new UploadQuestionActionModel {
                                    Status = false, Message = "Lỗi tại dòng " + row.ToString() + "cột " + comlumnError
                                }));
                            }
                        }
                        else
                        {
                            return(new JsonResult(new UploadQuestionActionModel {
                                Status = false, Message = "Lỗi tại dòng " + row.ToString()
                            }));
                        }
                    }
                }
                return(new JsonResult(new UploadQuestionActionModel {
                    Status = true, Message = "Thêm thành công " + (errorRow - 2).ToString() + "câu hỏi."
                }));
            }
            catch (Exception ex)
            {
                return(new JsonResult(new UploadQuestionActionModel {
                    Status = false, Message = "Thêm thành công " + (errorRow - 2 - 1).ToString() + ". Lỗi tại dòng " + errorRow.ToString()
                }));
            }
        }