Esempio n. 1
0
        public ActionResult SearchQuestionList(QuestionSearchFilter searchFilter)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Question").ToInputLogString());

            try
            {
                if (ModelState.IsValid)
                {
                    _questionFacade = new QuestionFacade();
                    QuestionViewModel questionVM = new QuestionViewModel();
                    questionVM.SearchFilter = searchFilter;

                    questionVM.QuestionList = _questionFacade.GetQuestionList(questionVM.SearchFilter);
                    ViewBag.PageSize        = questionVM.SearchFilter.PageSize;

                    return(PartialView("~/Views/Question/_QuestionList.cshtml", questionVM));
                }

                return(Json(new
                {
                    Valid = false,
                    Error = string.Empty
                }));
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Question").Add("Error Message", ex.Message).ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));
            }
        }
        public IHttpActionResult Create([FromBody] Questions data)
        {
            IQuestionDTO dataDTO = (IQuestionDTO)DTOFactory.Instance.Create(DTOType.QuestionDTO);

            EntityConverter.FillDTOFromEntity(data, dataDTO);
            dataDTO.Created = DateTime.Now;


            IQuestionFacade questionFacade        = (IQuestionFacade)FacadeFactory.Instance.Create(FacadeType.QuestionFacade);
            OperationResult <IQuestionDTO> result = questionFacade.Create(dataDTO);

            if (result.ResultType == OperationResultType.Failure)
            {
                string failed = JsonConvert.SerializeObject(new { success = false, data = result.Message });
                return(BadRequest(failed));
            }

            if (result.IsValid())
            {
                Questions question = new Questions();
                EntityConverter.FillEntityFromDTO(result.Data, question);
                string success = JsonConvert.SerializeObject(new { success = true, data = question });
                return(Ok(success));
            }

            string jsonObj = JsonConvert.SerializeObject(new { success = false, data = result.Message });

            return(BadRequest(jsonObj));
        }
Esempio n. 3
0
        public ActionResult LoadQuestionForm(int questionId)
        {
            IQuestionFacade questionFacade = FacadeFactory.Instance.Create <IQuestionFacade>();

            QuestionVM questionVM = null;

            if (questionId != -1)
            {
                var questionDTOResult = questionFacade.GetQuestionById(questionId);

                if (questionDTOResult.IsValid())
                {
                    questionVM                 = new QuestionVM();
                    questionVM.QuestionId      = questionDTOResult.Data.QuestionId;
                    questionVM.Text            = questionDTOResult.Data.Text;
                    questionVM.Marks           = questionDTOResult.Data.Marks;
                    questionVM.QuestionPaperNo = questionDTOResult.Data.QuestionPaperNo;
                }
                else
                {
                    return(new RedirectResult("Error/"));
                }
            }
            else
            {
                questionVM                 = new QuestionVM();
                questionVM.QuestionId      = -1;
                questionVM.Text            = "";
                questionVM.Marks           = 1;
                questionVM.QuestionPaperNo = 1;
            }


            return(PartialView(questionVM));
        }
        public IEnumerable <QuestionsDTO> Search(string title)
        {
            IQuestionDTO question = (IQuestionDTO)DTOFactory.Instance.Create(DTOType.QuestionDTO);

            question.Title = title;
            IQuestionFacade questionFacade = (IQuestionFacade)FacadeFactory.Instance.Create(FacadeType.QuestionFacade);
            OperationResult <List <IQuestionDTO> > result = questionFacade.Search(question);

            return((IEnumerable <QuestionsDTO>)result.Data);
        }
Esempio n. 5
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) }));
            }
        }
Esempio n. 6
0
        public ActionResult Index()
        {
            IQuestionFacade questionFacade     = FacadeFactory.Instance.Create <IQuestionFacade>();
            var             questionDTOsResult = questionFacade.GetAllQuestions();

            if (questionDTOsResult.IsValid())
            {
                return(View(questionDTOsResult.Data));
            }
            else
            {
                return(new RedirectResult("Error/"));
            }
        }
Esempio n. 7
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));
            }
        }
        public IHttpActionResult GetQuestions()
        {
            IQuestionFacade questionFacade            = (IQuestionFacade)FacadeFactory.Instance.Create(FacadeType.QuestionFacade);
            OperationResult <List <IDataDTO> > result = questionFacade.GetQuestions();

            if (result.ResultType == OperationResultType.Failure)
            {
                string failed = JsonConvert.SerializeObject(new { success = false, data = result.Message });
                return(BadRequest(failed));
            }

            if (result.IsValid())
            {
                List <Data> dataList = new List <Data>();

                foreach (var dataDTO in result.Data)
                {
                    Data data = new Data();

                    EntityConverter.FillEntityFromDTO(dataDTO.QuestionDetail, data.QuestionDetail);

                    EntityConverter.FillEntityFromDTO(dataDTO.UserDetail, data.UserDetail);

                    List <ITagsDTO> tagsDTOList = dataDTO.TagDetail;
                    List <Tags>     tagsModel   = new List <Tags>();
                    foreach (var tagDTO in tagsDTOList)
                    {
                        Tags tag = new Tags();
                        EntityConverter.FillEntityFromDTO(tagDTO, tag);
                        tagsModel.Add(tag);
                    }

                    data.TagDetail = tagsModel;
                    dataList.Add(data);
                }
                //string success = JsonConvert.SerializeObject(new { success = true, data = dataList });
                return(Ok(result.Data[0].QuestionDetail));
            }

            string jsonObj = JsonConvert.SerializeObject(new { success = false, data = result.Message });

            return(BadRequest(jsonObj));
        }
Esempio n. 9
0
        public ActionResult Edit(int QuestionId)
        {
            var list = new QuestionViewModel();

            list.QuestionIsActiveList = new List <SelectListItem>();
            list.QuestionIsActiveList.Add(new SelectListItem()
            {
                Text = "Active", Value = "true"
            });
            list.QuestionIsActiveList.Add(new SelectListItem()
            {
                Text = "Inactive", Value = "false"
            });

            var questionVM = new QuestionViewModel();

            _questionFacade = new QuestionFacade();

            if (QuestionId != null && QuestionId != 0)
            {
                var questionItemEntity = _questionFacade.GetQuestionById(QuestionId);

                questionVM.QuestionId   = questionItemEntity.QuestionId;
                questionVM.QuestionName = questionItemEntity.QuestionName;
                questionVM.Status       = questionItemEntity.Status;
                if (questionItemEntity.CreateDate != null)
                {
                    questionVM.CreateDate = (DateTime)questionItemEntity.CreateDate;
                }
                if (questionItemEntity.UpdateDate != null)
                {
                    questionVM.UpdateDate = (DateTime)questionItemEntity.UpdateDate;
                }
                questionVM.CreateUserName       = questionItemEntity.CreateUserName;
                questionVM.UpdateUserName       = questionItemEntity.UpdateUserName;
                questionVM.QuestionIsActiveList = list.QuestionIsActiveList;
                questionVM.CreateUser           = questionItemEntity.CreateUser;
                questionVM.UpdateUser           = questionItemEntity.UpdateUser;
            }

            return(View(questionVM));
        }
        public IHttpActionResult Details([FromUri] int id)
        {
            IQuestionDTO question = (IQuestionDTO)DTOFactory.Instance.Create(DTOType.QuestionDTO);

            question.Id = id;
            IQuestionFacade            questionFacade = (IQuestionFacade)FacadeFactory.Instance.Create(FacadeType.QuestionFacade);
            OperationResult <IDataDTO> result         = questionFacade.Details(question);

            if (result.ResultType == OperationResultType.Failure)
            {
                string failed = JsonConvert.SerializeObject(new { success = false, data = result.Message });
                return(BadRequest(failed));
            }

            if (result.IsValid())
            {
                Data dataModel = new Data();

                EntityConverter.FillEntityFromDTO(result.Data.QuestionDetail, dataModel.QuestionDetail);

                EntityConverter.FillEntityFromDTO(result.Data.UserDetail, dataModel.UserDetail);

                List <ITagsDTO> tagsDTOList = result.Data.TagDetail;
                List <Tags>     tagsModel   = new List <Tags>();
                foreach (var tagDTO in tagsDTOList)
                {
                    Tags tag = new Tags();
                    EntityConverter.FillEntityFromDTO(tagDTO, tag);
                    tagsModel.Add(tag);
                }

                dataModel.TagDetail = tagsModel;

                string success = JsonConvert.SerializeObject(new { success = true, data = dataModel });
                return(Ok(success));
            }
            string jsonObj = JsonConvert.SerializeObject(new { success = false, data = result.Message });

            return(BadRequest(jsonObj));
        }
Esempio n. 11
0
        public ActionResult Delete(int questionId)
        {
            IQuestionFacade questionFacade = FacadeFactory.Instance.Create <IQuestionFacade>();
            var             deleteResult   = questionFacade.DeleteQuestion(questionId);

            if (deleteResult.IsValid())
            {
                return(new JsonResult()
                {
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                    Data = new
                    {
                        msg = "Deleted",
                        id = questionId
                    }
                });
            }
            else
            {
                return(new RedirectResult("Error/"));
            }
        }