public ActionResult UpdateForGrid([DataSourceRequest] DataSourceRequest request, AnswerViewModel answer)
        {
            ANSWER entity = db.ANSWERS.Get().FirstOrDefault(c => c.ID == answer.id);

            if (entity == null)
            {
                ModelState.AddModelError("ANSWER", "Невозможно редактировать данный ответ!< br > Ошибка: Ответ не обнаружен в базе данных!");
            }

            if (ModelState.IsValid)
            {
                entity = answer.ToEntity(entity);

                try
                {
                    db.ANSWERS.Update(entity);
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("ANSWER", ex.Message);
                }
            }

            return(Json(new[] { answer }.ToDataSourceResult(request, ModelState)));
        }
Ejemplo n.º 2
0
        private void _postQuestion(OOPEZZ_DBEntities db, QUESTION question, BotMessageReceivedRequest mess)
        {
            ANSWER answer = db.ANSWER.Where(x => x.QUESTION_FK == question.PK_SEQ).OrderByDescending(x => x.STATUS).First();

            String json = "";

            json = fbTemplate.SimpleTextTemplate(mess.sender.id, "Câu hỏi : ");
            _post(json);
            json = fbTemplate.SimpleTextTemplate(mess.sender.id, question.QUESTION_TEXT);
            _post(json);

            String answer_pkseq_contents = answer.ANSWER_TEXT;

            char[]         charac   = { '#' };
            List <String>  pkseqs   = answer_pkseq_contents.Split(charac).ToList();
            List <CONTENT> contents = new List <CONTENT>();

            foreach (String pkseq in pkseqs)
            {
                int     pk = int.Parse(pkseq);
                CONTENT ct = db.CONTENT.Where(x => x.PK_SEQ == pk).First();
                contents.Add(ct);
            }
            _sendContentList(db, contents, mess.sender.id);


            //json = fbTemplate.ButtonTemplate(mess.sender.id, "Bấm nút bên dưới để tiếp tục bài học nhé", new List<ResponseButtons>() {
            //    new ResponseButtons()
            //    {
            //        type = "postback",
            //        title = "Tiếp tục bài học",
            //        payload = ""
            //    }
            //});
        }
        public ActionResult DestroyForGrid([DataSourceRequest] DataSourceRequest request, AnswerViewModel answer)
        {
            ANSWER entity = db.ANSWERS.Get().FirstOrDefault(a => a.ID == answer.id);

            if (entity == null)
            {
                ModelState.AddModelError("ANSWER", "Ответ не обнаружен в базе данных!");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    db.ANSWERS.Delete(entity);
                    //Recalculate ordernum
                    db.ANSWERS.Get().Where(a => a.QUESTIONID == answer.questionid && a.ORDERNUM > answer.ordernum).ToList().ForEach(an =>
                    {
                        an.ORDERNUM -= 1;
                        db.ANSWERS.Update(an);
                    });
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("ANSWER", ex.Message);
                }
            }

            return(Json(new[] { answer }.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult CreateForGrid([DataSourceRequest] DataSourceRequest request, AnswerViewModel answer, long _questionid)
        {
            if (!db.QUESTIONS.Get().Any(q => q.ID == _questionid))
            {
                ModelState.AddModelError("ANSWER", "Невозможно добавить данный ответ!<br> Ошибка: Вопрос не обнаружен в базе данных!");
            }
            if (ModelState.IsValid)
            {
                answer.questionid = _questionid;
                answer.ordernum   = (short)(db.ANSWERS.Get().Where(q => q.QUESTIONID == _questionid).Count() + 1);

                ANSWER entity = answer.ToEntity(new ANSWER());
                try
                {
                    db.ANSWERS.Create(entity);
                    answer.id = entity.ID;
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("ANSWER", ex.Message);
                }
            }

            return(Json(new[] { answer }.ToDataSourceResult(request, ModelState)));
        }
        public JsonResult SetOrder(long id, short step)
        {
            ANSWER entityFrom = db.ANSWERS.Get().FirstOrDefault(a => a.ID == id);

            if (entityFrom != null)
            {
                ANSWER entityTo = db.ANSWERS.Get().FirstOrDefault(a => a.QUESTIONID == entityFrom.QUESTIONID && a.ORDERNUM == entityFrom.ORDERNUM + step);

                if (entityTo != null)
                {
                    try
                    {
                        entityFrom.ORDERNUM = (short)(entityFrom.ORDERNUM + step);
                        db.ANSWERS.Update(entityFrom);
                        entityTo.ORDERNUM = (short)(entityTo.ORDERNUM - step);
                        db.ANSWERS.Update(entityTo);
                    }
                    catch (Exception ex)
                    {
                        return(Json(new { result = "errors", errors = "Ошибка: " + ex.Message }, JsonRequestBehavior.AllowGet));
                    }
                }

                return(Json(new { result = "OK" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { result = "errors", errors = "Ошибка: Ответ не обнаружен в базе данных!" }, JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Stores an answer.
        /// </summary>
        /// <param name="answer"></param>
        public int StoreAnswer(Answer answer)
        {
            var db = new CSET_Context();

            // Find the Question or Requirement
            var question    = db.NEW_QUESTION.Where(q => q.Question_Id == answer.QuestionId).FirstOrDefault();
            var requirement = db.NEW_REQUIREMENT.Where(r => r.Requirement_Id == answer.QuestionId).FirstOrDefault();

            if (question == null && requirement == null)
            {
                throw new Exception("Unknown question or requirement ID: " + answer.QuestionId);
            }


            // in case a null is passed, store 'unanswered'
            if (string.IsNullOrEmpty(answer.AnswerText))
            {
                answer.AnswerText = "U";
            }

            ANSWER dbAnswer = null;

            if (answer != null && answer.ComponentGuid != Guid.Empty)
            {
                dbAnswer = db.ANSWER.Where(x => x.Assessment_Id == _assessmentId &&
                                           x.Question_Or_Requirement_Id == answer.QuestionId &&
                                           x.Is_Requirement == answer.Is_Requirement && x.Component_Guid == answer.ComponentGuid).FirstOrDefault();
            }
            else if (answer != null)
            {
                dbAnswer = db.ANSWER.Where(x => x.Assessment_Id == _assessmentId &&
                                           x.Question_Or_Requirement_Id == answer.QuestionId &&
                                           x.Is_Requirement == answer.Is_Requirement).FirstOrDefault();
            }

            if (dbAnswer == null)
            {
                dbAnswer = new ANSWER();
            }

            dbAnswer.Assessment_Id = _assessmentId;
            dbAnswer.Question_Or_Requirement_Id = answer.QuestionId;
            dbAnswer.Question_Number            = answer.QuestionNumber;
            dbAnswer.Is_Requirement             = answer.Is_Requirement;
            dbAnswer.Answer_Text             = answer.AnswerText;
            dbAnswer.Alternate_Justification = answer.AltAnswerText;
            dbAnswer.Comment         = answer.Comment;
            dbAnswer.FeedBack        = answer.FeedBack;
            dbAnswer.Mark_For_Review = answer.MarkForReview;
            dbAnswer.Reviewed        = answer.Reviewed;
            dbAnswer.Component_Guid  = answer.ComponentGuid;
            dbAnswer.Is_Component    = answer.Is_Component;

            db.ANSWER.AddOrUpdate(dbAnswer, x => x.Answer_Id);
            db.SaveChanges();

            AssessmentUtil.TouchAssessment(_assessmentId);

            return(dbAnswer.Answer_Id);
        }
Ejemplo n.º 7
0
        internal List <QuestionInformationTabData> getQuestionDetails(int?questionId, int assessmentId, bool IsComponent)
        {
            if (questionId == null)
            {
                SetQuestionInfoTabToEmpty();
                return(ListTabs);
            }

            this.IsNoQuestion          = false;
            this.IsDetailAndInfo       = true;
            this.ShowQuestionDetailTab = false;


            if (questionId != null)
            {
                AssessmentModeData mode = new AssessmentModeData(this.DataContext, assessmentId);
                bool IsRequirement      = IsComponent ? !IsComponent : mode.IsRequirement;
                var  newqp     = this.DataContext.NEW_QUESTION.Where(q => q.Question_Id == questionId).FirstOrDefault();
                var  newAnswer = this.DataContext.ANSWER.Where(a => a.Question_Or_Requirement_Id == questionId &&
                                                               a.Is_Requirement == IsRequirement && a.Assessment_Id == assessmentId).FirstOrDefault();
                var gettheselectedsets = this.DataContext.AVAILABLE_STANDARDS.Where(x => x.Assessment_Id == assessmentId);

                if (newAnswer == null)
                {
                    newAnswer = new ANSWER()
                    {
                        Is_Requirement             = IsRequirement,
                        Question_Or_Requirement_Id = questionId ?? 0,
                        Answer_Text     = AnswerEnum.UNANSWERED.GetStringAttribute(),
                        Mark_For_Review = false,
                        Reviewed        = false,
                        Is_Component    = false
                    };
                    DataContext.ANSWER.Add(newAnswer);
                }
                var qp = new QuestionPoco(newAnswer, newqp);
                qp.DictionaryStandards = (from a in this.DataContext.AVAILABLE_STANDARDS
                                          join b in this.DataContext.SETS on a.Set_Name equals b.Set_Name
                                          where a.Selected == true &&
                                          a.Assessment_Id == assessmentId
                                          select b
                                          ).ToDictionary(x => x.Set_Name, x => x);

                qp.DefaultSetName = qp.DictionaryStandards.Keys.FirstOrDefault();
                qp.SetName        = qp.DictionaryStandards.Keys.FirstOrDefault();
                LoadData(qp, assessmentId);

                // Get any findings/discoveries for the question
                FindingsViewModel fm = new FindingsViewModel(this.DataContext, assessmentId, newAnswer.Answer_Id);
                this.Findings = fm.AllFindings();

                // Get any documents attached to the question
                DocumentManager dm = new DocumentManager(assessmentId);
                this.Documents = dm.GetDocumentsForAnswer(newAnswer.Answer_Id);

                //Get any components
            }

            return(ListTabs);
        }
Ejemplo n.º 8
0
        public ActionResult DeleteConfirmed(int id)
        {
            ANSWER aNSWER = db.ANSWER.Find(id);

            db.ANSWER.Remove(aNSWER);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 9
0
 public ActionResult Edit([Bind(Include = "PK_SEQ,ANSWER_TEXT,ANSWER_USER_FK,QUESTION_FK,STATUS")] ANSWER aNSWER)
 {
     if (ModelState.IsValid)
     {
         db.Entry(aNSWER).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(aNSWER));
 }
Ejemplo n.º 10
0
        public ANSWER ToEntity(ANSWER answer)
        {
            answer.ID         = this.id;
            answer.TEXT       = this.text;
            answer.GOOD       = this.good;
            answer.ORDERNUM   = this.ordernum;
            answer.QUESTIONID = this.questionid;

            return(answer);
        }
Ejemplo n.º 11
0
        //get method
        public ActionResult UpdateAnswer(string answerId)
        {
            AnswerService   answerService   = new AnswerService();
            QuestionService questionService = new QuestionService();
            ANSWER          answer          = answerService.findById(answerId);

            TempData["Answer"]   = answer;
            TempData["Question"] = questionService.findById(answer.QUESTION_ID.ToString());
            return(View());
        }
Ejemplo n.º 12
0
        public ActionResult Create([Bind(Include = "PK_SEQ,ANSWER_TEXT,ANSWER_USER_FK,QUESTION_FK,STATUS")] ANSWER aNSWER)
        {
            if (ModelState.IsValid)
            {
                db.ANSWER.Add(aNSWER);
                db.SaveChanges();
                NotifinewAnswer((int)aNSWER.QUESTION_FK);
                return(RedirectToAction("Index"));
            }

            return(View(aNSWER));
        }
Ejemplo n.º 13
0
 private QuestionPoco(ANSWER answer, bool setParams = true)
 {
     this.DictionaryStandards = new Dictionary <String, SETS>();
     this.Answer         = answer;
     this.setDocumentIds = answer.DOCUMENT_FILEs().Select(x => x.Document_Id).ToHashSet();
     DocumentCount       = setDocumentIds.Count;
     if (setParams)
     {
         this.Parameters = new ObservableCollection <ParameterContainer>();
     }
     QuestionAnswer = EnumHelper.GetEnumValueFromDescription <AnswerEnum>(Answer.Answer_Text);
 }
Ejemplo n.º 14
0
        //post method
        public ActionResult UpdateAnswerDB(ANSWER answer)
        {
            AnswerService answerService = new AnswerService();

            if (answerService.update(answer))
            {
                return(RedirectToAction("ShowAnswers", "Manager", new { questionId = answer.QUESTION_ID }));
            }
            else
            {
                return(RedirectToAction("ShowAnswers", "Manager", new { questionId = answer.QUESTION_ID }));
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Stores an answer.
        /// </summary>
        /// <param name="answer"></param>
        public int StoreAnswer(int assessmentId, Answer answer)
        {
            var db = new CSET_Context();

            // Find the Maturity Question
            var question = db.MATURITY_QUESTIONS.Where(q => q.Mat_Question_Id == answer.QuestionId).FirstOrDefault();

            if (question == null)
            {
                throw new Exception("Unknown question or requirement ID: " + answer.QuestionId);
            }


            // in case a null is passed, store 'unanswered'
            if (string.IsNullOrEmpty(answer.AnswerText))
            {
                answer.AnswerText = "U";
            }

            ANSWER dbAnswer = db.ANSWER.Where(x => x.Assessment_Id == assessmentId &&
                                              x.Question_Or_Requirement_Id == answer.QuestionId &&
                                              x.Is_Requirement == answer.Is_Requirement).FirstOrDefault();


            if (dbAnswer == null)
            {
                dbAnswer = new ANSWER();
            }

            dbAnswer.Assessment_Id = assessmentId;
            dbAnswer.Question_Or_Requirement_Id = answer.QuestionId;
            dbAnswer.Question_Number            = answer.QuestionNumber;
            dbAnswer.Answer_Text             = answer.AnswerText;
            dbAnswer.Alternate_Justification = answer.AltAnswerText;
            dbAnswer.Comment         = answer.Comment;
            dbAnswer.Feedback        = answer.Feedback;
            dbAnswer.Mark_For_Review = answer.MarkForReview;
            dbAnswer.Reviewed        = answer.Reviewed;
            dbAnswer.Is_Maturity     = answer.Is_Maturity;
            dbAnswer.Is_Component    = answer.Is_Component;
            dbAnswer.Component_Guid  = answer.ComponentGuid;
            dbAnswer.Is_Requirement  = answer.Is_Requirement;

            db.ANSWER.AddOrUpdate(dbAnswer, x => x.Answer_Id);
            db.SaveChanges();

            AssessmentUtil.TouchAssessment(assessmentId);

            return(dbAnswer.Answer_Id);
        }
Ejemplo n.º 16
0
        // GET: ANSWERs/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ANSWER aNSWER = db.ANSWER.Find(id);

            if (aNSWER == null)
            {
                return(HttpNotFound());
            }
            return(View(aNSWER));
        }
Ejemplo n.º 17
0
 public void GetDetailsTest()
 {
     ANSWER newAnswer = new ANSWER()
     {
         Is_Requirement             = false,
         Question_Or_Requirement_Id = 14,
         Answer_Text     = AnswerEnum.UNANSWERED.GetStringAttribute(),
         Mark_For_Review = false,
         Is_Component    = false
     };
     //TODO a setup and teardown that creates the assessment and then destroys it
     QuestionsManager manager = new QuestionsManager(26);
     QuestionDetailsContentViewModel viewModel = manager.GetDetails(14, 26, false);
 }
Ejemplo n.º 18
0
        //post meethod
        public ActionResult CreateQAToTestDB(string CATEGORY, int POINT, string QUESTION_TEXT, string testId, string ANSWER1, string ANSWER2, string ANSWER3, string ANSWER4)
        {
            QUESTION        question        = new QUESTION();
            QuestionService questionService = new QuestionService();

            question.CATEGORY  = CATEGORY;
            question.POINT     = POINT;
            question.QUESTION1 = QUESTION_TEXT;
            if (questionService.create(question))
            {
                ANSWER        answer        = new ANSWER();
                AnswerService answerService = new AnswerService();
                string[]      ans           = new string[4] {
                    ANSWER1, ANSWER2, ANSWER3, ANSWER4
                };
                for (int i = 0; i < 4; i++)
                {
                    answer.QUESTION_ID = questionService.GetLastQuestionId();
                    answer.ANSWER1     = ans[i];
                    if (i == 0)
                    {
                        answer.STATUS = true;
                    }
                    else
                    {
                        answer.STATUS = false;
                    }
                    if (answerService.create(answer) == false)
                    {
                        return(RedirectToAction("CreateQAToTest", "Manager", new { error = "Something wrong with the Answers please create it again", testId = testId }));
                    }
                }
                TestService testService = new TestService();
                if (testService.AddQuestionToTest(questionService.GetLastQuestionId(), Int32.Parse(testId)))
                {
                    return(RedirectToAction("ShowTestQuestions", "Manager", new { testId = testId }));
                }
                return(RedirectToAction("CreateQAToTest", "Manager", new { error = "Create Q&A successfully", testId = testId }));
            }
            else
            {
                return(RedirectToAction("CreateQAToTest", "Manager", new { error = "Something wrong with the Question", testId = testId }));
            }
        }
Ejemplo n.º 19
0
        public static double calculateScore(List <String> QuestionIds, List <String> AnswerLists, int apply_id, int index)
        {
            APTECH_SEM_3Entities db = new APTECH_SEM_3Entities();
            bool flag = false;

            try
            {
                RESULT result = (from p in db.RESULTs where p.APPLY_ID == apply_id select p).SingleOrDefault();
                for (int i = 0; i < QuestionIds.Count; i++)
                {
                    int    parseQuestionId = int.Parse(QuestionIds[i]);
                    ANSWER answer          = (from p in db.ANSWERs where p.QUESTION_ID == parseQuestionId && p.STATUS == true select p).SingleOrDefault();
                    if (answer.ANSWER1 == AnswerLists[i])
                    {
                        switch (index)
                        {
                        case 1:
                            flag = true;
                            result.TEST_RESULT_1 += answer.QUESTION.POINT;
                            break;

                        case 2:
                            flag = true;
                            result.TEST_RESULT_2 += answer.QUESTION.POINT;
                            break;

                        case 3:
                            flag = true;
                            result.TEST_RESULT_3 += answer.QUESTION.POINT;
                            break;
                        }
                    }
                }
                if (db.SaveChanges() == 0 && flag == true)
                {
                    throw new Exception("CAN NOT UPDATE RESULT");
                }
                return(result.TEST_RESULT_1 + result.TEST_RESULT_2 + result.TEST_RESULT_3);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 20
0
        private void _postAnswer(OOPEZZ_DBEntities db, BotMessageReceivedRequest mess)
        {
            char[] spa                   = { '_' };
            String content               = mess.postback.payload.Split(spa)[1];
            int    content_pk            = int.Parse(content);
            ANSWER answer                = db.ANSWER.Where(x => x.QUESTION_FK == content_pk).OrderByDescending(x => x.STATUS).First();
            String answer_pkseq_contents = answer.ANSWER_TEXT;

            char[]         charac   = { '#' };
            List <String>  pkseqs   = answer_pkseq_contents.Split(charac).ToList();
            List <CONTENT> contents = new List <CONTENT>();

            foreach (String pkseq in pkseqs)
            {
                int     pk = int.Parse(pkseq);
                CONTENT ct = db.CONTENT.Where(x => x.PK_SEQ == pk).First();
                contents.Add(ct);
            }
            _postContentList(db, contents, mess.sender.id);
        }
Ejemplo n.º 21
0
        public String SendData(AnswerModel answerModel)
        {
            int?month = DateTime.Now.Month;
            var model = db.ANSWER.FirstOrDefault(m => m.PERSONCODE == answerModel.CODE && m.USERCODE == UserCODE && m.CREATEDATE.Value.Month == month);

            if (model != null)
            {
                SaveAnswerLine(answerModel.QUESTION, answerModel.ANSWER, model.ID);
            }
            else
            {
                ANSWER answer = new ANSWER();
                answer.PERSONCODE = answerModel.CODE;
                answer.PERSONNAME = answerModel.NAMESURNAME;
                answer.USERCODE   = UserCODE;
                answer.CREATEDATE = DateTime.Now;
                answer.CREATEBY   = NAMESURNAME;
                db.ANSWER.Add(answer);
                db.SaveChanges();
                SaveAnswerLine(answerModel.QUESTION, answerModel.ANSWER, answer.ID);
            }

            return("True");
        }
Ejemplo n.º 22
0
 public QuestionPoco(ANSWER answer, NEW_REQUIREMENT new_requirement, RequirementLevel requirementLevel)
     : this(answer)
 {
     this.NEW_REQUIREMENT  = new_requirement;
     this.RequirementLevel = requirementLevel;
 }
Ejemplo n.º 23
0
        void BtnSaveAllQuestion_Click(object sender, RoutedEventArgs e)
        {
            if (tbQuestion.Text == "")
            {
                this.ShowMessageAsync("Error", "Enter text question");
                return;
            }
            int i = 0;

            if (tbs.Count() == 0)
            {
                this.ShowMessageAsync("Error", "Add ANSWER");
                return;
            }
            var questRepeat = db.QUESTION.Where(l => l.QUESTIONID == _IdQuestion).ToList();

            if (questRepeat.Count() > 0)
            {
                questRepeat.FirstOrDefault().QUESTIONTEXT = tbQuestion.Text;
                try
                {
                    db.SaveChanges();
                }
                catch (Exception er)
                {
                    this.ShowMessageAsync("Error", "Error " + er.Message + "Inner:" + er.InnerException);
                    return;
                }
                //this.ShowMessageAsync("Success", "Successful saved");
            }
            else
            {
                try
                {
                    QUESTION row = new QUESTION
                    {
                        QUESTIONID   = db.QUESTION.Count() == 0 ? 1 : db.QUESTION.Max(l => l.QUESTIONID) + 1,
                        TESTID       = _IdTest,
                        QUESTIONTEXT = tbQuestion.Text,
                        QUESTIONNOTE = tbQuestionNote.Text
                    };
                    db.QUESTION.Add(row);
                    db.SaveChanges();
                    _IdQuestion = db.QUESTION.Where(l => l.TESTID == _IdTest && l.QUESTIONTEXT == row.QUESTIONTEXT).First().QUESTIONID;
                }
                catch (Exception er)
                {
                    this.ShowMessageAsync("Error", "A data-entry error in the database of QUESTION " + er.Message + "Inner:" + er.InnerException);
                    return;
                }
            }

            foreach (TextBox tbAnswer in tbs)
            {
                var       t       = db.ANSWER.Where(l => l.ANSWERTEXT == tbAnswer.Text).FirstOrDefault();
                List <QA> repeats = new List <QA>();
                if (t != null)
                {
                    repeats = db.QA.Where(l => l.QUESTIONID == _IdQuestion && l.ANSWERID == t.ANSWERID).ToList();
                }
                //this.ShowMessageAsync("", chbs[i].IsChecked.ToString() + tb.Text);
                if (tbAnswer.Text == "")
                {
                    this.ShowMessageAsync("Error", "Enter answer");
                    return;
                }

                if (repeats.Count() == 0)//нет повтора
                {
                    try
                    {
                        ANSWER rowA = new ANSWER
                        {
                            ANSWERTEXT = tbAnswer.Text,
                            ANSWERID   = db.ANSWER.Count() == 0 ? 1 : db.ANSWER.Max(l => l.ANSWERID) + 1
                        };
                        db.ANSWER.Add(rowA);
                        db.SaveChanges();

                        QA qa = new QA()
                        {
                            CORRECTANSWER = chbs[i].IsChecked,
                            QUESTIONID    = _IdQuestion,
                            ANSWERID      = db.ANSWER.Where(l => l.ANSWERTEXT == tbAnswer.Text).First().ANSWERID,
                            QA_ID         = db.QA.Count() == 0 ? 1 : db.QA.Max(l => l.QA_ID) + 1
                        };
                        db.QA.Add(qa);
                        db.SaveChanges();

                        //CompletingQUESTION();
                    }
                    catch (Exception er)
                    {
                        this.ShowMessageAsync("Error", "Error " + er.Message + "Inner:" + er.InnerException);
                        return;
                    }
                }
                else
                {
                    try
                    {
                        var a = db.ANSWER.Where(l => l.ANSWERID == t.ANSWERID).First();
                        a.ANSWERTEXT = tbAnswer.Text;
                        db.SaveChanges();

                        var qa = db.QA.Where(l => l.QUESTIONID == _IdQuestion && l.ANSWERID == t.ANSWERID).First();
                        qa.CORRECTANSWER = chbs[i].IsChecked;
                        db.SaveChanges();
                    }
                    catch (Exception er)
                    {
                        this.ShowMessageAsync("Error", er.Message + "Inner:" + er.InnerException);
                        return;
                    }
                }
                i++;
            }
            this.ShowMessageAsync("Success", "Successful saved");
            SetLbQuestions();
        }
Ejemplo n.º 24
0
 public QuestionPoco(ANSWER answer, MATURITY_QUESTIONS question) : this(answer)
 {
     this.MaturityQuestion = question;
 }
Ejemplo n.º 25
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="questionId"></param>
        /// <param name="assessmentId"></param>
        /// <param name="IsComponent"></param>
        /// <param name="IsMaturity"></param>
        /// <returns></returns>
        internal List <QuestionInformationTabData> GetQuestionDetails(int?questionId, int assessmentId, string questionType)
        {
            if (questionId == null)
            {
                SetQuestionInfoTabToEmpty();
                return(ListTabs);
            }

            this.IsNoQuestion          = false;
            this.IsDetailAndInfo       = true;
            this.ShowQuestionDetailTab = false;


            if (questionId != null)
            {
                var selectedSets = this.DataContext.AVAILABLE_STANDARDS.Where(x => x.Assessment_Id == assessmentId);

                AssessmentModeData mode = new AssessmentModeData(this.DataContext, assessmentId);
                bool IsQuestion         = mode.IsQuestion;
                // bool IsRequirement = IsComponent ? !IsComponent : mode.IsRequirement;

                var newqp     = this.DataContext.NEW_QUESTION.Where(q => q.Question_Id == questionId).FirstOrDefault();
                var newAnswer = this.DataContext.ANSWER.Where(a =>
                                                              a.Question_Or_Requirement_Id == questionId &&
                                                              a.Assessment_Id == assessmentId &&
                                                              a.Question_Type == questionType).FirstOrDefault();


                if (newAnswer == null)
                {
                    newAnswer = new ANSWER()
                    {
                        Question_Type = questionType,
                        Question_Or_Requirement_Id = questionId ?? 0,
                        Answer_Text     = AnswerEnum.UNANSWERED.GetStringAttribute(),
                        Mark_For_Review = false,
                        Reviewed        = false,
                        Is_Component    = false
                    };

                    // set the question type booleans, for consistency
                    newAnswer.Is_Component   = newAnswer.Question_Type == "Component";
                    newAnswer.Is_Requirement = newAnswer.Question_Type == "Requirement";
                    newAnswer.Is_Maturity    = newAnswer.Question_Type == "Maturity";


                    DataContext.ANSWER.Add(newAnswer);
                }

                QuestionPoco qp = null;

                if (questionType == "Maturity")
                {
                    var matQuestion = this.DataContext.MATURITY_QUESTIONS.Where(q => q.Mat_Question_Id == questionId).FirstOrDefault();
                    qp = new QuestionPoco(newAnswer, matQuestion);
                }
                else
                {
                    qp = new QuestionPoco(newAnswer, newqp);
                }

                qp.DictionaryStandards = (from a in this.DataContext.AVAILABLE_STANDARDS
                                          join b in this.DataContext.SETS on a.Set_Name equals b.Set_Name
                                          where a.Selected == true &&
                                          a.Assessment_Id == assessmentId
                                          select b
                                          ).ToDictionary(x => x.Set_Name, x => x);

                qp.DefaultSetName = qp.DictionaryStandards.Keys.FirstOrDefault();
                qp.SetName        = qp.DictionaryStandards.Keys.FirstOrDefault();

                LoadData(qp, assessmentId);

                // Get any findings/discoveries for the question
                FindingsViewModel fm = new FindingsViewModel(this.DataContext, assessmentId, newAnswer.Answer_Id);
                this.Findings = fm.AllFindings();

                // Get any documents attached to the question
                DocumentManager dm = new DocumentManager(assessmentId);
                this.Documents = dm.GetDocumentsForAnswer(newAnswer.Answer_Id);

                //Get any components
            }

            var json = JsonConvert.SerializeObject(ListTabs);

            return(ListTabs);
        }
Ejemplo n.º 26
0
 public QuestionPoco(ANSWER answer, NEW_QUESTION question) : this(answer)
 {
     this.Question = question;
 }
Ejemplo n.º 27
0
 public QuestionPoco(ANSWER answer, SETS set, ProfileQuestion profileQuestion)
     : this(answer)
 {
     this.ProfileQuestionData = profileQuestion;
     this.DictionaryStandards[set.Set_Name] = set;
 }