Пример #1
0
        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);
        }
Пример #3
0
        /// <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);
                        }
                    }
                }
            }
        }