private void Apply(PageModulesReordered @event) { foreach (var reorderedPageModule in @event.PageModules) { var pageModule = PageModules.FirstOrDefault(x => x.Id == reorderedPageModule.PageModuleId); pageModule?.Reorder(reorderedPageModule.Zone, reorderedPageModule.SortOrder); } }
public void Handle(PageModulesReordered @event) { ClearPageCache(@event.SiteId, @event.AggregateRootId); }
public async Task HandleAsync(PageModulesReordered @event) { await ClearPageCache(@event.SiteId, @event.AggregateRootId); }
public void Setup() { var createPageCommand = new CreatePage { SiteId = Guid.NewGuid(), Id = Guid.NewGuid(), Name = "Name", Url = "url" }; var createPageValidatorMock = new Mock <IValidator <CreatePage> >(); createPageValidatorMock.Setup(x => x.Validate(createPageCommand)).Returns(new ValidationResult()); _page = Page.CreateNew(createPageCommand, createPageValidatorMock.Object); _page.AddModule(new PageModule(_page.Id, Guid.NewGuid(), Guid.NewGuid(), "Title", "Header", 1)); _page.AddModule(new PageModule(_page.Id, Guid.NewGuid(), Guid.NewGuid(), "Title", "Header", 2)); _page.AddModule(new PageModule(_page.Id, Guid.NewGuid(), Guid.NewGuid(), "Title", "Content", 1)); _page.AddModule(new PageModule(_page.Id, Guid.NewGuid(), Guid.NewGuid(), "Title", "Content", 2)); _page.AddModule(new PageModule(_page.Id, Guid.NewGuid(), Guid.NewGuid(), "Title", "Footer", 1)); _page.AddModule(new PageModule(_page.Id, Guid.NewGuid(), Guid.NewGuid(), "Title", "Footer", 2)); _command = new ReorderPageModules { SiteId = _page.SiteId, PageId = _page.Id, Zones = new List <ReorderPageModules.Zone> { new ReorderPageModules.Zone { Name = "Header", Modules = new List <Guid> { _page.PageModules.FirstOrDefault().ModuleId } }, new ReorderPageModules.Zone { Name = "Content", Modules = new List <Guid> { _page.PageModules.Skip(2).FirstOrDefault().ModuleId, _page.PageModules.Skip(3).FirstOrDefault().ModuleId, _page.PageModules.Skip(1).FirstOrDefault().ModuleId } }, new ReorderPageModules.Zone { Name = "Footer", Modules = new List <Guid> { _page.PageModules.Skip(4).FirstOrDefault().ModuleId, _page.PageModules.Skip(5).FirstOrDefault().ModuleId } } } }; var validatorMock = new Mock <IValidator <ReorderPageModules> >(); validatorMock.Setup(x => x.Validate(_command)).Returns(new ValidationResult()); _page.ReorderPageModules(_command, validatorMock.Object); _event = _page.Events.OfType <PageModulesReordered>().SingleOrDefault(); }