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); }
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); }