Пример #1
0
        public JsonResult SaveQuestion(QuestionSaveViewModel questionSaveVM)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Question Save").ToInputLogString());
            try
            {
                if (ModelState.IsValid)
                {
                    QuestionItemEntity questionEntity = new QuestionItemEntity
                    {
                        QuestionId   = questionSaveVM.QuestionId,
                        QuestionName = questionSaveVM.QuestionName,
                        Status       = questionSaveVM.Status,
                        UserId       = UserInfo.UserId,
                        CreateUser   = questionSaveVM.CreateUser,
                        CreateDate   = questionSaveVM.CreateDate
                    };

                    _questionFacade = new QuestionFacade();

                    if (questionEntity.QuestionName.Length <= 8000 && questionEntity.QuestionName.Length > 0)
                    {
                        var checkQuestion = _questionFacade.CheckQuestionName(questionEntity);

                        if (checkQuestion == false)
                        {
                            return(Json(new { is_success = false, message = "ชื่อ Question ซ้ำ" }));
                        }
                        else
                        {
                            var isSuccess = _questionFacade.SaveQuestion(questionEntity);
                            return(isSuccess
                                ? Json(new { is_success = true, message = "บันทึก Question สำเร็จ" })
                                : Json(new { is_success = false, message = "บันทึก Question ไม่สำเร็จ" }));
                        }
                    }
                    else
                    {
                        return(Json(new { is_success = false, message = "ชื่อ Question ต้องมากกว่าหรือเท่ากับ 1 ตัวอักษร และไม่เกิน 100 ตัวอักษร" }));
                    }
                }

                return(Json(new
                {
                    is_success = false,
                    message = string.Empty
                }));
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Question Save").Add("Error Message", ex.Message).ToFailLogString());
                return(Json(new { is_success = false, message = string.Format(CultureInfo.InvariantCulture, "Error : {0}", ex.Message) }));
            }
        }
Пример #2
0
        public ActionResult SaveQuestion(QuestionVM question)
        {
            if (ModelState.IsValid)
            {
                IQuestionFacade questionFacade = FacadeFactory.Instance.Create <IQuestionFacade>();
                IQuestionDTO    questionDTO    = DTOFactory.Instance.Create <IQuestionDTO>();

                questionDTO.QuestionId      = question.QuestionId;
                questionDTO.Text            = question.Text;
                questionDTO.Marks           = question.Marks;
                questionDTO.QuestionPaperNo = question.QuestionPaperNo;
                //paperDTO.QuestionCount = paper.QuestionCount;

                var saveResult = questionFacade.SaveQuestion(questionDTO);


                if (saveResult.IsValid())
                {
                    return(new JsonResult()
                    {
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                        Data = new
                        {
                            msg = "Saved",
                            questionId = questionDTO.QuestionId
                        }
                    });
                }
                else
                {
                    if (saveResult.HasFailed())
                    {
                        ModelState.AddModelError("Name", saveResult.Message);
                        return(PartialView("LoadQuestionForm", question));
                    }
                    else
                    {
                        return(new RedirectResult("Error/"));
                    }
                }
            }
            else
            {
                return(PartialView("LoadQuestionForm", question));
            }
        }