public IHttpActionResult CreateDynamicContent(webModel.DynamicContentItem contentItem) { var coreItem = contentItem.ToCoreModel(); _dynamicContentService.SaveContentItems(new[] { coreItem }); return(GetDynamicContentById(coreItem.Id)); }
public void DoImport(Stream backupStream, Action <ExportImportProgressInfo> progressCallback) { var backupObject = backupStream.DeserializeJson <BackupObject>(); var originalObject = GetBackupObject(progressCallback); var progressInfo = new ExportImportProgressInfo(); progressInfo.Description = String.Format("{0} promotions importing...", backupObject.Promotions.Count()); progressCallback(progressInfo); _promotionService.SavePromotions(backupObject.Promotions.ToArray()); progressInfo.Description = String.Format("{0} folders importing...", backupObject.ContentFolders.Count()); progressCallback(progressInfo); _dynamicContentService.SaveFolders(backupObject.ContentFolders.ToArray()); progressInfo.Description = String.Format("{0} places importing...", backupObject.ContentPlaces.Count()); progressCallback(progressInfo); _dynamicContentService.SavePlaces(backupObject.ContentPlaces.ToArray()); progressInfo.Description = String.Format("{0} contents importing...", backupObject.ContentItems.Count()); progressCallback(progressInfo); _dynamicContentService.SaveContentItems(backupObject.ContentItems.ToArray()); progressInfo.Description = String.Format("{0} publications importing...", backupObject.ContentPublications.Distinct().Count()); progressCallback(progressInfo); _dynamicContentService.SavePublications(backupObject.ContentPublications.Distinct().ToArray()); var pageSize = 500; var couponsTotal = backupObject.Coupons.Count(); Paginate(couponsTotal, pageSize, (x) => { progressInfo.Description = String.Format($"{Math.Min(x * pageSize, couponsTotal)} of {couponsTotal} coupons imported"); progressCallback(progressInfo); _couponService.SaveCoupons(backupObject.Coupons.Skip((x - 1) * pageSize).Take(pageSize).ToArray()); }); var usagesTotal = backupObject.Usages.Count(); Paginate(usagesTotal, pageSize, (x) => { progressInfo.Description = String.Format($"{Math.Min(x * pageSize, usagesTotal)} of {usagesTotal} usages imported"); progressCallback(progressInfo); _usageService.SaveUsages(backupObject.Usages.Skip((x - 1) * pageSize).Take(pageSize).ToArray()); }); }
public void SaveContentItems(DynamicContentItem[] items) { _contentService.SaveContentItems(items); ClearCache(); }
protected virtual void SaveContentItems(DynamicContentItem[] dynamicContentItems) { _dynamicContentService.SaveContentItems(dynamicContentItems); }