public BulkLoadItem(BulkLoadAction loadAction, BulkItem item) : base(item) { this.LoadAction = loadAction; // When creating bucket folder items, we don't want those items to be bucketed again. if (BucketConfigurationSettings.BucketTemplateId.Guid.Equals(TemplateId)) { Bucketed = true; } }
public virtual BulkLoadItem ToBulkLoadItem(IItemData itemData, BulkLoadContext context, BulkLoadAction loadAction) { if (itemData == null) { throw new ArgumentNullException(nameof(itemData)); } if (context == null) { throw new ArgumentNullException(nameof(context)); } var bulkItem = new BulkLoadItem( loadAction, itemData.Id, itemData.TemplateId, itemData.BranchId, itemData.ParentId, itemData.Path, sourceInfo: itemData.SerializedItemId); foreach (var sharedField in itemData.SharedFields) { AddSyncField(context, bulkItem, sharedField); } foreach (var languagedFields in itemData.UnversionedFields) { foreach (var field in languagedFields.Fields) { AddSyncField(context, bulkItem, field, languagedFields.Language.Name); } } foreach (var versionFields in itemData.Versions) { foreach (var field in versionFields.Fields) { AddSyncField(context, bulkItem, field, versionFields.Language.Name, versionFields.VersionNumber); } AddStatisticsFieldsWhenMissing(bulkItem, versionFields.Language.Name, versionFields.VersionNumber); } // Serialized items don't contain the original blob id. context.LookupBlobIds = true; return(bulkItem); }
public BulkLoadItem(BulkLoadAction loadAction, Guid id, Guid templateId, Guid masterId, Guid parentId, string itemPath, string templateName = null, object sourceInfo = null) : base(id, templateId, masterId, parentId, itemPath) { if (templateId == Guid.Empty && loadAction != BulkLoadAction.UpdateExistingItem) { throw new ArgumentException("Template id of item should not be an empty Guid.", nameof(id)); } this.LoadAction = loadAction; this.TemplateName = templateName; this.SourceInfo = sourceInfo; // When creating bucket folder items, we don't want those items to be bucketed again. if (BucketConfigurationSettings.BucketTemplateId.Guid.Equals(templateId)) { Bucketed = true; } }
public BulkLoadItem(BulkLoadAction loadAction, Template template, Item parent, string name) : this(loadAction, Guid.NewGuid(), template.ID.Guid, Guid.Empty, parent.ID.Guid, parent.Paths.Path + "/" + name, template.Name) { }
public BulkLoadItem(BulkLoadAction loadAction, Guid templateId, string itemPath, Guid id, string templateName = null, object sourceInfo = null) : this(loadAction, id, templateId, Guid.Empty, Guid.NewGuid(), itemPath, templateName, sourceInfo) { }
public override bool Read() { if (!base.Read()) { // Clear the fields. for (var i = 0; i < _fields.Length; i++) { _fields[i] = null; } return(false); } var item = (BulkLoadItem)Current.Item; ReadItemCount++; if (!HasFieldDependencies && (Current.DependsOnCreate || Current.DependsOnUpdate)) { HasFieldDependencies = true; } if (!HasPathExpressions && item.ItemLookupPath != null) { HasPathExpressions = true; } if (!HasBlobFields && Current.IsBlob) { HasBlobFields = true; } BulkLoadAction fieldAction = BulkLoadAction.AddOnly; // switch (item.LoadAction) // { // case BulkLoadAction.AddOnly: // fieldAction = BulkLoadAction.AddOnly; // break; //case BulkLoadAction.AddItemOnly: // fieldAction = BulkLoadAction.AddItemOnly; // break; //case BulkLoadAction.Update: // fieldAction = BulkLoadAction.Update; // break; // case BulkLoadAction.UpdateExistingItem: // fieldAction = BulkLoadAction.Update; // break; // case BulkLoadAction.Revert: // fieldAction = BulkLoadAction.Update; // break; // case BulkLoadAction.RevertTree: // fieldAction = BulkLoadAction.Update; // break; // default: // fieldAction = BulkLoadAction.Update; // break; // } var unversioned = Current as UnversionedBulkField; var versioned = Current as VersionedBulkField; _fields[0] = Current.Item.Id; _fields[1] = string.IsNullOrEmpty(Current.Item.Name) ? DBNull.Value : (object)Current.Item.Name; _fields[2] = Current.Item.TemplateId != Guid.Empty ? (object)Current.Item.TemplateId : DBNull.Value; _fields[3] = (object)item.TemplateName ?? DBNull.Value; _fields[4] = Current.Item.MasterId; _fields[5] = Current.Item.ParentId; _fields[6] = (object)item.ItemPath ?? DBNull.Value; _fields[7] = (object)item.ItemLookupPath ?? DBNull.Value; _fields[8] = (object)item.DependsOnItemCreation ?? DBNull.Value; _fields[9] = Current.Item.Id; _fields[10] = item.LoadAction.ToString(); _fields[11] = item.SourceInfo ?? DBNull.Value; _fields[12] = Current.Id; _fields[13] = (object)Current.Name ?? DBNull.Value; _fields[14] = unversioned != null ? (object)unversioned.Language : DBNull.Value; _fields[15] = versioned != null ? (object)versioned.Version : DBNull.Value; _fields[16] = Current.Value != null ? (object)Current.Value : DBNull.Value; // Data for blob will be fetched through GetStream method. _fields[17] = Current.Blob != null ? (object)null : DBNull.Value; _fields[18] = Current.IsBlob; _fields[19] = fieldAction.ToString(); _fields[20] = Current.DependsOnCreate; _fields[21] = Current.DependsOnUpdate; // Will be used to remove duplicates after LookupExpressions have been processed _fields[22] = item.Deduplicate; // Will be detected in database, don't allow mistakes! //_fields[23] = unversioned == null; // IsShared //_fields[24] = unversioned != null && versioned == null; // IsUnversioned return(true); }