Exemplo n.º 1
0
        public IActionResult Index()
        {
            ReadCategoriesWithForumsQuery query = new ReadCategoriesWithForumsQuery {
            };
            CategoriesAndForums result          = this.queryDispatcher.Dispatch <ReadCategoriesWithForumsQuery, CategoriesAndForums>(query);

            return(View(result));
        }
Exemplo n.º 2
0
        public IActionResult Create()
        {
            CategoriesAndForums all = this.queryDispatcher.Dispatch <ReadCategoriesWithForumsQuery, CategoriesAndForums>(new ReadCategoriesWithForumsQuery {
            });



            return(View(new CreateCategoryModel(all.ToViewModel())));
        }
Exemplo n.º 3
0
        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())));
        }
Exemplo n.º 4
0
        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);
        }