public void Handle(CreatePost createPost)
 {
     var post = _factory.Create(createPost.Id);
     post.Create(createPost.BlogId, createPost.Title);
     post.SetTitle(createPost.Title);
     post.SetBody(createPost.Body);
 }
示例#2
0
		public ActionResult Create(CreatePost createPost)
		{
			if (ModelState.IsValid)
			{
				var result = _commandCoordinator.Handle(createPost);

				if (!result.Success)
				{
					if (result.Invalid)
					{
						foreach (var validation in result.ValidationResults)
						{
							ModelState.AddModelError(validation.MemberNames.FirstOrDefault() ?? string.Empty, validation.ErrorMessage);
						}
					}
					else
					{
						return RedirectToAction("List", new { blogId = createPost.BlogId });
					}
				}
				else
				{
					var post = _posts.Get(createPost.Id);
					var viewModel = GetPostViewModelFromPost(post);
					return View("Show", viewModel);
				}
			}
			return
				RedirectToAction("List", new { blogId = createPost.BlogId });
		}