public IActionResult Index() { ReadCategoriesWithForumsQuery query = new ReadCategoriesWithForumsQuery { }; CategoriesAndForums result = this.queryDispatcher.Dispatch <ReadCategoriesWithForumsQuery, CategoriesAndForums>(query); return(View(result)); }
public IActionResult Create() { CategoriesAndForums all = this.queryDispatcher.Dispatch <ReadCategoriesWithForumsQuery, CategoriesAndForums>(new ReadCategoriesWithForumsQuery { }); return(View(new CreateCategoryModel(all.ToViewModel()))); }
public IActionResult Create(CreateCategoryModel model) { if (ModelState.IsValid) { this.commandDispatcher.Dispatch <CreateCategoryCommand>(new CreateCategoryCommand { Name = model.Name, Description = model.Description, SortOrder = model.SortOrder }); } CategoriesAndForums all = this.queryDispatcher.Dispatch <ReadCategoriesWithForumsQuery, CategoriesAndForums>(new ReadCategoriesWithForumsQuery { }); return(View(new CreateCategoryModel(all.ToViewModel()))); }
public static ForumStructure ToViewModel(this CategoriesAndForums data) { ForumStructure output = new ForumStructure { Categories = data.Categories.Select(c => new ForumStructureCategory { Id = c.Id, Name = c.Name, SortOrder = c.SortOrder }).ToList() }; output.Categories.ToList().ForEach(category => { List <ForumStructureForum> forums = new List <ForumStructureForum>(); IEnumerable <NForum.Domain.Forum> fs = data.Forums.Where(f => f.CategoryId == category.Id && String.IsNullOrWhiteSpace(f.ParentForumId) == true).ToList(); fs.ToList().ForEach(forum => { forums.Add(new ForumStructureForum { Id = forum.Id, Name = forum.Name, SortOrder = forum.SortOrder, Forums = FetchForums(forum, data.Forums.Where(f => f.CategoryId == category.Id)).ToList() }); }); category.Forums = forums; }); return(output); }