public ActionResult Create(AnswerFields model) { if (ModelState.IsValid) { var answer = Mapper.Map <AnswerFields, Answer>(model); answer.DateCreated = DateTime.UtcNow; if (model.Id.HasValue) { var existingAnswer = _answerService.Get(model.Id.Value); existingAnswer.Text = model.Text; _answerService.Update(existingAnswer); } else { var question = _questionService.Get(Convert.ToInt32(model.QuestionId)); if (null == question.Answers) { question.Answers = new List <Answer>(); } question.Answers.Add(answer); _questionService.Update(question); } return(RedirectToAction("Detail", "Question", new { id = model.QuestionId })); } var createAnswer = _viewFactory.BuildCreateAnswerViewModel(CurrentUserName, Roles.GetRolesForUser(), "Create Answer", model); return(View(createAnswer)); }
public CreateAnswer BuildCreateAnswerViewModel(string username, string[] userRoles, string title, AnswerFields answerFields) { var viewModel = new CreateAnswer { Title = title, SubTitle = GeneralConstants.PortalTitle, PortalTitle = GeneralConstants.PortalTitle, Icon = "Icon", Breadcrumb = _breadcrumbFactory.BuildBreadcrumb(), LeftNav = _leftNavFactory.BuildLeftNav(LeftNavigationItems.Questions, userRoles), TopNav = _topNavFactory.BuildTopNav(GeneralConstants.PortalTitle, username), AnswerFields = answerFields }; return(viewModel); }