private STAddTicketViewModel GetAddTicketVm(Ticket ticket) { var severities = _stService.GetSeverities(); var severitiesSelectItem = severities.Select(s => new SelectListItem() { Value = s.SeverityId.ToString(), Text = s.DisplayName }); var products = _stService.GetProducts(); var productsSelectItem = products.Select(p => new SelectListItem() { Value = p.ProductId.ToString(), Text = p.Description }); var vm = new STAddTicketViewModel() { Severities = severitiesSelectItem, Products = productsSelectItem, Ticket = ticket }; return(vm); }
public ActionResult AddTicket([Bind(Prefix = "Ticket.ProductId")] int productId, [Bind(Prefix = "Ticket.SeverityId")] int severityId, [Bind(Prefix = "Ticket.Problem")] string problem, [Bind(Prefix = "Ticket.Description")] string description, bool active) { if (!ModelState.IsValid) { // TODO: Do more granular checks per parameter to find out what is wrong... ModelState.AddModelError("OneOfTheAboveParameters", "OneOfTheAboveParameters has a problem."); ViewBag.Message = "A critical error occured in the model binding"; return(View(new STAddTicketViewModel())); } var ticket = _stService.AddTicket( new Ticket() { ProductId = productId, SeverityId = severityId, Problem = problem, Description = description, Active = active }); ViewBag.Message = $"Your ticket has been created. Your ticket ID is {ticket.TicketId}"; STAddTicketViewModel vm = GetAddTicketVm(new Ticket()); return(View(vm)); }
public ActionResult AddTicket() { var ticket = new Ticket(); STAddTicketViewModel vm = GetAddTicketVm(ticket); return(View(vm)); }