Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
 public void Handle(PageModulesReordered @event)
 {
     ClearPageCache(@event.SiteId, @event.AggregateRootId);
 }
Exemplo n.º 3
0
 public async Task HandleAsync(PageModulesReordered @event)
 {
     await ClearPageCache(@event.SiteId, @event.AggregateRootId);
 }
Exemplo n.º 4
0
        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();
        }