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