public PartialViewResult IndexInquirerForm() { InquirerViewModel viewModel = new InquirerViewModel(); viewModel.Name = "Nolan's Batman"; viewModel.HasText = false; viewModel.RadioQuestion = "What is your favorite Nolan's Batman?"; viewModel.RadioOptions = new[] { "Batman Begins", "The Dark Knight", "The Dark Knight Rises" }; return(PartialView(viewModel)); }
public ActionResult InquirerForm() { InquirerViewModel viewModel = new InquirerViewModel(); viewModel.Name = "Country and color"; viewModel.TextQuestion = "Where are you from?"; viewModel.RadioQuestion = "What is your favorite color?"; viewModel.RadioOptions = InquirerRadioOptions; return(View(viewModel)); }
public ActionResult InquirerForm(InquirerViewModel viewModel) { if (!ModelState.IsValid) { if (viewModel.HasRadio) { viewModel.RadioOptions = InquirerRadioOptions; } return(View(viewModel)); } TempData["Message"] = "Hurray! Your response on inquirer is added!"; bl.SaveInquirer(viewModel); return(RedirectToAction("GetInquirerResults", new { inquirerName = viewModel.Name })); }
public override bool IsValid(object value) { InquirerViewModel viewModel = value as InquirerViewModel; if (viewModel.HasRadio && viewModel.RadioInput == null) { return(false); } if (viewModel.HasText && viewModel.TextInput == null) { return(false); } return(true); }
public void SaveInquirer(InquirerViewModel viewModel) { Inquirer inquirerForSave = new Inquirer(); inquirerForSave.Name = viewModel.Name; if (viewModel.HasText) { inquirerForSave.Text = viewModel.TextInput; } if (viewModel.HasRadio) { inquirerForSave.Radio = viewModel.RadioInput; } pc.Inquirers.Add(inquirerForSave); pc.SaveChanges(); }
public static MvcHtmlString RenderInquirer(this HtmlHelper html, InquirerViewModel inquirer) { TagBuilder div = new TagBuilder("div"); div.AddCssClass("list-group"); if (inquirer.HasText) { TagBuilder label = new TagBuilder("label"); label.Attributes.Add("for", "TextInput"); label.InnerHtml += inquirer.TextQuestion; div.InnerHtml += label.ToString(); TagBuilder input = new TagBuilder("input"); input.Attributes.Add("name", "TextInput"); input.Attributes.Add("type", "text"); input.Attributes.Add("placeholder", inquirer.TextInput); input.AddCssClass("list-group-item"); div.InnerHtml += input.ToString(TagRenderMode.SelfClosing); TagBuilder hr = new TagBuilder("hr"); div.InnerHtml += hr.ToString(); } if (inquirer.HasRadio) { TagBuilder label = new TagBuilder("label"); label.InnerHtml += inquirer.RadioQuestion; div.InnerHtml += label.ToString(); foreach (string option in inquirer.RadioOptions) { TagBuilder p = new TagBuilder("p"); label = new TagBuilder("label"); label.Attributes.Add("for", option); label.InnerHtml += option; TagBuilder radio = new TagBuilder("input"); radio.Attributes.Add("type", "radio"); radio.Attributes.Add("name", "RadioInput"); radio.Attributes.Add("id", option); radio.Attributes.Add("value", option); p.InnerHtml += string.Format("{0} {1}", label.ToString(), radio.ToString(TagRenderMode.SelfClosing)); p.AddCssClass("list-group-item"); div.InnerHtml += p.ToString(); } TagBuilder hr = new TagBuilder("hr"); div.InnerHtml += hr.ToString(); } return(new MvcHtmlString(div.ToString())); }
public PartialViewResult IndexInquirerForm(InquirerViewModel viewModel) { if (!ModelState.IsValid) { if (viewModel.HasRadio) { viewModel.RadioOptions = InquirerRadioOptions; } return(PartialView(viewModel)); } TempData["Message"] = "Hurray! Your response on inquirer is added!"; bl.SaveInquirer(viewModel); List <Inquirer> inquirers = bl.GetInquirerResults(viewModel.Name).ToList(); return(PartialView("GetIndexInquirerResults", inquirers)); }