public IDeliveryUnitItem Add(IDeliveryUnitItem item, FileInfo sourceFile = null) { if (item is IDeliverySupportFile) { if (sourceFile != null) { IDeliverySupportFile item_IDeliverySupportFile = (IDeliverySupportFile)item; item_IDeliverySupportFile.sourceFileInfo = sourceFile; } } items.Add(item); return(item); }
/// <summary> /// Determines whether the collection contains item with the same sourcefile path. /// </summary> /// <param name="sourceFileInfo">The source file information.</param> /// <returns> /// <c>true</c> if [contains item from sourcefile] [the specified source file information]; otherwise, <c>false</c>. /// </returns> public bool containsItemFromSourcefile(FileInfo sourceFileInfo) { foreach (IDeliveryUnitItem item in this) { if (item is IDeliverySupportFile) { IDeliverySupportFile item_IDeliverySupportFile = (IDeliverySupportFile)item; if (item_IDeliverySupportFile.sourceFileInfo.FullName == sourceFileInfo.FullName) { return(true); } } } return(false); }
/// <summary> /// Executes the prepare procedure /// </summary> public void executePrepare() { //includeList = new metaLinkCollection(); //renders = new deliveryUnitRenderCollection(); itemByLevel = new deliveryUnitItemByLevels(); outputByLevel = new deliveryUnitItemByLevels(); foreach (deliveryUnitItem item in items) { if (item.levels.Any()) { foreach (var lev in item.levels) { itemByLevel[lev].Add(item); } } else { switch (item.location) { case deliveryUnitItemLocationBase.localResource: case deliveryUnitItemLocationBase.externalWebResource: itemByLevel[reportElementLevel.page].Add(item); break; case deliveryUnitItemLocationBase.globalDeliveryResource: itemByLevel[reportElementLevel.delivery].Add(item); break; case deliveryUnitItemLocationBase.globalDocumentResource: itemByLevel[reportElementLevel.document].Add(item); break; case deliveryUnitItemLocationBase.globalDocumentSetResource: itemByLevel[reportElementLevel.documentSet].Add(item); break; case deliveryUnitItemLocationBase.globalDeliveryContent: if (item is deliveryUnitItemFileOutput) { deliveryUnitItemFileOutput item_deliveryUnitItemFileOutput = (deliveryUnitItemFileOutput)item; if (item_deliveryUnitItemFileOutput.isDataFieldMode) { itemByLevel[reportElementLevel.delivery].Add(item); } } break; case deliveryUnitItemLocationBase.unknown: break; } } if (item is deliveryUnitItemFileOutput) { deliveryUnitItemFileOutput item_deliveryUnitItemFileOutput = (deliveryUnitItemFileOutput)item; if (item_deliveryUnitItemFileOutput.isDataFieldMode) { // itemByLevel[reportElementLevel.deliveryInstance].Add(item); } else { outputContent.Add(item_deliveryUnitItemFileOutput); } } if (item is deliveryUnitItemSimpleRenderOutput) { deliveryUnitItemSimpleRenderOutput item_deliveryUnitItemRenderOutput = (deliveryUnitItemSimpleRenderOutput)item; outputByLevel.Add(item_deliveryUnitItemRenderOutput.levels, item); } foreach (IDeliveryUnitItem it in items) { if (it is IDeliverySupportFile) { IDeliverySupportFile it_IDeliverySupportFile = (IDeliverySupportFile)it; if (!includeItems[it_IDeliverySupportFile.linkType].Contains(it_IDeliverySupportFile)) { includeItems[it_IDeliverySupportFile.linkType].Add(it_IDeliverySupportFile); } } } } }