Exemplo n.º 1
0
        public IActionResult UpdateQuestionSet([FromBody] HrmTestQuestionSet from)
        {
            try {
                var qs = ctx.HrmTestQuestionSets.SingleOrDefault(x => x.Id == from.Id);

                if (qs == null)
                {
                    // NotModified
                    return(StatusCode(304));
                }

                qs.QuestionSet    = from.QuestionSet;
                qs.TimeOut        = from.TimeOut;
                qs.UpdateUserPosi = from.UpdateUserPosi;
                qs.UpdateDatePosi = DateTime.Now;
                ctx.Update(qs);
                ctx.SaveChanges();

                return(Ok());
            } catch (Exception ex) {
                return(StatusCode(500, ex.Message));
            }
        }
Exemplo n.º 2
0
        public IActionResult CreateQuestion([FromBody] HrmTestQuestionFormBody q)
        {
            using (var transaction = ctx.Database.BeginTransaction())
            {
                try
                {
                    // Question set
                    var questionSet = new HrmTestQuestionSet();

                    if (q.QuestionSetId == 0)
                    {
                        questionSet.QuestionSet    = q.QuestionSet;
                        questionSet.UpdateUserPosi = q.UpdateUserPosi;
                        questionSet.TimeOut        = q.TimeOut;
                        questionSet.UpdateDatePosi = DateTime.Now;
                        ctx.Add(questionSet);
                        ctx.SaveChanges();
                    }
                    else
                    {
                        questionSet = ctx.HrmTestQuestionSets.SingleOrDefault(x => x.Id == q.QuestionSetId);

                        if (questionSet.QuestionSet != q.QuestionSet)
                        {
                            questionSet.QuestionSet    = q.QuestionSet;
                            questionSet.TimeOut        = q.TimeOut;
                            questionSet.UpdateUserPosi = q.UpdateUserPosi;
                            questionSet.UpdateDatePosi = DateTime.Now;
                            ctx.Update(questionSet);
                            ctx.SaveChanges();
                        }
                    }

                    // Question
                    var question = new HrmTestQuestion();

                    question.QuestionSetId  = questionSet.Id;
                    question.Question       = q.Question;
                    question.Img            = q.Img;
                    question.ImgName        = q.ImgName;
                    question.Answer         = (int)q.Answer;
                    question.UpdateDatePosi = DateTime.Now;
                    question.UpdateUserPosi = q.UpdateUserPosi;

                    ctx.Add(question);
                    ctx.SaveChanges();

                    // Choice
                    foreach (var c in q.Choice)
                    {
                        var choice = new HrmTestChoice();
                        choice.Choice         = c.Choice;
                        choice.Img            = c.Img;
                        choice.ImgName        = c.ImgName;
                        choice.QuestionId     = question.Id;
                        choice.UpdateUserPosi = c.UpdateUserPosi;
                        choice.UpdateDatePosi = DateTime.Now;
                        ctx.Add(choice);
                    }
                    ctx.SaveChanges();

                    transaction.Commit();

                    return(Ok(questionSet));
                }
                catch (Exception ex)
                {
                    Console.Write(ex.Message);
                    transaction.Rollback();
                    return(StatusCode(500));
                }
            }
        }