public ActionResult Create(CreatePostCommand command) { Func<bool> preCondition = () => ValidateSlug(command.AggregateId, command.Slug); Func<ActionResult> preConditionResult = () => { ModelState.AddModelError("Slug", "Slug already taken"); return View(command); }; return ValidateAndSendCommand(command, () => RedirectToAction("Show", "Post", new { slug = command.Slug}), () => View(command), preCondition: preCondition, preConditionResult: preConditionResult); }
public ActionResult Create() { var command = new CreatePostCommand() {AggregateId = Guid.NewGuid()}; return View("Create", command); }