Esempio n. 1
0
        private void UpdateCarouselSlides(CarouselBlock carousel, List <SlideViewModel> slides)
        {
            if (slides == null)
            {
                carousel.Slides.RemoveAll(s => true);
                return;
            }

            slides = slides.OrderBy(s => s.Order).ToList();
            int i;

            for (i = 0; i < slides.Count; i++)
            {
                if (carousel.Slides.Count == i)
                {
                    carousel.Slides.Add(new Slide
                    {
                        Text  = slides[i].Text,
                        Image = slides[i].Image,
                        Order = i
                    });
                }
                else
                {
                    carousel.Slides[i].Text      = slides[i].Text;
                    carousel.Slides[i].Image     = slides[i].Image;
                    carousel.Slides[i].PhotoPath = slides[i].PhotoPath;
                    carousel.Slides[i].Order     = i;
                }
            }

            carousel.Slides.RemoveRange(i, carousel.Slides.Count - i);
        }
Esempio n. 2
0
        public async Task <IActionResult> Carousel(Enumeration.ContentItemType contentType, int contentId)
        {
            var block = new CarouselBlock();

            SetTypeId(block, contentType, contentId);
            block.LastModified = block.Date = DateTime.UtcNow;
            await _blockRepository.Create(block);

            return(ViewComponent("Block", block));
        }
        public async Task Index()
        {
            var           model     = new List <Customer>();
            var           model2    = new List <NewsItem>().AsQueryable().BuildMock();
            var           solutions = new List <Solution>().AsQueryable().BuildMock();
            var           cases     = new List <Case>();
            CarouselBlock carousel  = null;

            _customerRepository.Setup(repo => repo.GetAll()).Returns(Task.FromResult(model));
            _newsItemRepository.Setup(repo => repo.GetAll()).Returns(model2.Object);
            _solutionRepository.Setup(repo => repo.GetAll()).Returns(solutions.Object);
            _caseRepository.Setup(repo => repo.GetHomepageItems("nl")).Returns(Task.FromResult(cases));
            _blockRepository.Setup(repo => repo.GetHomepageCarousel()).Returns(Task.FromResult(carousel));

            var controller = new HomeController(_customerRepository.Object, _newsItemRepository.Object, _solutionRepository.Object, _caseRepository.Object, _blockRepository.Object);
            var result     = await controller.Index();

            Assert.IsType <ViewResult>(result);
        }
        public async Task <CarouselBlock> GetHomepageCarousel()
        {
            var carousel = await _context.Blocks.OfType <CarouselBlock>()
                           .Include(c => c.Slides)
                           .Where(c => c.HomepageCarousel)
                           .SingleOrDefaultAsync();

            if (carousel == null)
            {
                carousel = new CarouselBlock
                {
                    Active           = true,
                    Date             = DateTime.UtcNow,
                    LastModified     = DateTime.UtcNow,
                    HomepageCarousel = true,
                };

                await Create(carousel);
            }

            return(carousel);
        }