public async Task <ActionResult> OnPostAsync([FromServices] BlogEntryComponentFactory blogEntryComponentFactory) { if (blogEntryComponentFactory == null) { throw new ArgumentNullException(nameof(blogEntryComponentFactory)); } if (!ModelState.IsValid) { return(Page()); } Option <BlogEntryTextModel> blogEntryOption = await _queryComponent.BlogAsync(Id); if (!blogEntryOption.Any()) { return(RedirectToPage("/NotFound")); } BlogEntryTextModel Blog = blogEntryOption.Single(); Option <BlogEntryComponent> componentResult = await blogEntryComponentFactory.LoadComponentAsynd(Blog.BlogEntryId); if (!componentResult.Any()) { return(RedirectToPage("/NotFound")); } BlogEntryComponent component = componentResult.Single(); WorkflowResult result = await component.Update( BlogEntryUpdateRequest.UriKey, BlogEntryUpdateRequest.Title, BlogEntryUpdateRequest.MinutesToRead, BlogEntryUpdateRequest.TextIntro, BlogEntryUpdateRequest.TextEntry, BlogEntryUpdateRequest.KeyWordId ); if (!result.Success) { for (int i = 0; i < result.Errors.Length; i++) { ModelState.AddModelError("", result.Errors[i]); } } else { Id = BlogEntryUpdateRequest.UriKey; } return(await BindPageModelAndRedirect(true, !result.Success)); }
public ExistingBlogEntryState(BlogEntryStorage blogEntryStorage, BlogEntryComponent blogEntryComponent) : base(blogEntryStorage, blogEntryComponent) { }
public BlogEntryState(BlogEntryStorage blogEntryStorage, BlogEntryComponent blogEntryComponent) { _blogEntryStorage = blogEntryStorage ?? throw new ArgumentNullException(nameof(blogEntryStorage)); _blogEntryComponent = blogEntryComponent ?? throw new ArgumentNullException(nameof(blogEntryComponent)); }
public NewBlogEntryState(BlogEntryStorage blogEntryStorage, BlogEntryComponent blogEntryComponent) : base(blogEntryStorage, blogEntryComponent) { }