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)); }