Example #1
0
        public async Task <IActionResult> Create(AnswerViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (model.Answers == null)
                    {
                        model.Answers = new List <Answer>();
                    }

                    _answerService.BeginTransaction();
                    var answer = helper.GetAnswer(model);
                    answer.Id = _answerService.Add(answer);
                    if (answer.Id < 0)
                    {
                        throw new Exception("database error");
                    }
                    model.Answers.AddRange(_answerService.List(x => x.QuestionId == model.QuestionId));
                    _answerService.CommitTransaction();
                    return(View(nameof(Create), model));
                }
                catch (Exception ex)
                {
                    _answerService.RollbackTransaction();
                }
            }
            return(View(model));
        }