private void CreatePages(StructureInfo structureInfo, PackageInfo packageInfo)
 {
     using (var db = _dataService.CreateBatch())
     {
         foreach (var page in structureInfo.Website.ChildPages)
         {
             var newPage = page.MakeWritableClone();
             newPage.SystemId = structureInfo.Id(page.SystemId);
             newPage.FieldTemplateSystemId = structureInfo.Id(page.FieldTemplateSystemId);
             newPage.ParentPageSystemId    = structureInfo.Id(page.ParentPageSystemId);
             newPage.WebsiteSystemId       = structureInfo.Id(page.WebsiteSystemId);
             newPage.AccessControlList     = _structureInfoService.GetAccessControlList(page.AccessControlList);
             newPage.ChannelLinks          = new List <PageToChannelLink> {
                 new PageToChannelLink(packageInfo.Channel.SystemId)
             };
             UpdateBlockSystemId(structureInfo, page, newPage);
             _structureInfoService.AddProperties <WebsiteArea>(structureInfo, page.Fields, newPage.Fields, false);
             db.Create(newPage);
         }
         db.Commit();
     }
 }
Esempio n. 2
0
        private void CreateMarket(StructureInfo structureInfo, Guid assortmentSystemId, string marketName)
        {
            var market = structureInfo.Website.Market.MakeWritableClone();

            market.SystemId = structureInfo.Id(market.SystemId);
            market.FieldTemplateSystemId = structureInfo.Id(market.FieldTemplateSystemId);
            _structureInfoService.AddProperties <WebsiteArea>(structureInfo, structureInfo.Website.Market.Fields, market.Fields, false);
            market.AssortmentSystemId = assortmentSystemId;
            foreach (var language in _languageService.GetAll())
            {
                market.Localizations[language.CultureInfo].Name = marketName;
            }
            market.Id = _slugifyService.Slugify(CultureInfo.CurrentCulture, marketName).NullIfEmpty();
            _marketService.Create(market);
            structureInfo.Website.Market = market;
        }