public void When()
 {
     var repositoryFactory = new DomainRepositoryStubFactory();
     _blogRepository = repositoryFactory.GetDomainRepository<Blog>();
     _blogCommandHandlers = new BlogCommandHandlers(repositoryFactory);
     _createBlogCommand = new CreateBlogCommand("Title", "SubTitle", Guid.Empty, Guid.Empty);
     _blogCommandHandlers.Handle(_createBlogCommand);
 }
示例#2
0
 public virtual ActionResult Create()
 {
     ActionResult actionResult;
     if (RedirectIfBlogExists(out actionResult)) return actionResult;
     var createBlogCommand = new CreateBlogCommand();
     return View("Create", createBlogCommand);
 }
示例#3
0
 public virtual ActionResult Create(CreateBlogCommand command)
 {
     ActionResult actionResult;
     if (RedirectIfBlogExists(out actionResult)) return actionResult;
     Func<bool> preCondition = () => _blogView.GetBlogs().Count() == 0;
     var user = _userView.GetUserByAuthenticationId(User.Identity.Name);
     Func<ActionResult> nextResult = () => RedirectToAction("Create", "Post");
     Func<ActionResult> failResult = () => { throw new ApplicationException("Fail to create blog"); };
     Func<ActionResult> validationFailFunc = () => View("Create", command);
     return ValidateAndSendCommand(command, nextResult, failResult, validationFailFunc: validationFailFunc, preCondition: preCondition);
 }