public ActionResult Create(/*[Bind(Include = "Name")]*/ MessageSpecificationViewModel model, List <string> Specification) { if (ModelState.IsValid && model.Specification.Any()) { MessageSpecification ms = new MessageSpecification { Name = model.Name }; foreach (string node in model.Specification) { // if the node is referencing another Message Specification if (node.StartsWith("ms.")) { string msName = node.Substring(3); MessageSpecification referencedMessageSpecification = messageSpecifications.FirstOrDefault(m => m.Name.Equals(msName)); ms.Specification.Add(referencedMessageSpecification); } else { // otherwise it's a string literal, thus add it to the newly created Message Specification's Specification property ms.Specification.Add(node); } } messageSpecifications.Add(ms); return(RedirectToAction("Index")); } return(View(model)); }
/// <summary> /// /// </summary> /// <returns></returns> // GET: MessageSpecifications/Create public ActionResult Create() { MessageSpecificationViewModel model = new MessageSpecificationViewModel(); return(View(model)); }