Exemple #1
0
        public async Task Add(IEnumerable <PageDto> pagesDto)
        {
            foreach (var pageDto in pagesDto)
            {
                pageDto.Content = pageDto.Content.TrimScript();
                pageDto.Content = await _htmlContentService.SavePictures(pageDto.Content);
            }

            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <PageDto, Page>()
                                                 .ForMember(c => c.Content, opt => opt.MapFrom(n => n.Content.ToString())))
                         .CreateMapper();
            var pages = mapper.Map <IEnumerable <PageDto>, IEnumerable <Page> >(pagesDto);

            var route = new PageRoute()
            {
                Route = pagesDto.FirstOrDefault().Route
            };

            (pages as List <Page>).ForEach(p => p.PageRoute = route);

            try
            {
                _unitOfWork.Repository <Page>().AddRange(pages);
                await _unitOfWork.SaveChangesAsync();
            }
            catch (Exception e)
            {
                e.Data["page"] = pagesDto;
                throw;
            }
        }