コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: ViewFactory.cs プロジェクト: DigitasLBiDubai/ATU
        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);
        }