Exemple #1
0
 public ExcelExportItemArgs(int row, int col, object oldValue, object newValue, DataFieldBase dataFieldBase, ICell hssfCell, ExcelMessageCollection excelMessages)
 {
     _rowIndex     = row;
     _colIndex     = col;
     _oldValue     = oldValue;
     _newValue     = newValue;
     CellStatus    = CellStatus.Continue;
     DataFieldBase = dataFieldBase;
     ICell         = hssfCell;
     ExcelMessages = excelMessages;
 }
Exemple #2
0
        private ModuleData(TreeNode logicalSchemaRoot)
        {
            var schema          = logicalSchemaRoot.Container.Schema;
            var fieldContainers = logicalSchemaRoot.DescendantFieldContainers().ToList();

            originalSegmentsByFieldContainer = new Dictionary <FieldContainer, DataSegment>();

            // First populate the containers
            var fieldMap = new SortedDictionary <FieldContainer, IReadOnlyList <IDataField> >(FieldContainer.AddressComparer);

            foreach (var fieldContainer in fieldContainers)
            {
                fieldMap[fieldContainer] = fieldContainer.Fields.ToReadOnlyList(field => DataFieldBase.CreateDataField(field, schema));
                originalSegmentsByFieldContainer[fieldContainer] = new DataSegment(fieldContainer.Address, new byte[fieldContainer.Size]);
            }
            fieldsByFieldContainer = fieldMap;

            IEnumerable <DataFieldBase> allFields = fieldsByFieldContainer.SelectMany(pair => pair.Value).Cast <DataFieldBase>();

            // Now resolve fields
            foreach (var pair in fieldsByFieldContainer)
            {
                foreach (var field in pair.Value.Cast <DataFieldBase>())
                {
                    field.ResolveFields(this, pair.Key);
                }
            }

            // Reset all fields to default values.
            foreach (var pair in fieldsByFieldContainer)
            {
                foreach (var field in pair.Value)
                {
                    field.Reset();
                }
            }

            // Note: must populate this *after* containers.
            LogicalRoot = new DataTreeNode(this, logicalSchemaRoot);
        }
Exemple #3
0
        private ModuleData(TreeNode logicalSchemaRoot)
        {
            PhysicalRoot = logicalSchemaRoot.Container;
            if (!(PhysicalRoot is ContainerBase containerBase))
            {
                throw new ArgumentException("Invalid root for ModuleData");
            }
            var schema          = PhysicalRoot.Schema;
            var fieldContainers = containerBase.DescendantsAndSelf().OfType <FieldContainer>().ToList();

            // First populate the containers
            var fieldMap = new SortedDictionary <FieldContainer, IReadOnlyList <IDataField> >(FieldContainer.AddressComparer);

            foreach (var fieldContainer in fieldContainers)
            {
                fieldMap[fieldContainer] = fieldContainer.Fields.ToReadOnlyList(field => DataFieldBase.CreateDataField(field, schema));
            }
            fieldsByFieldContainer = fieldMap;

            IEnumerable <DataFieldBase> allFields = fieldsByFieldContainer.SelectMany(pair => pair.Value).Cast <DataFieldBase>();

            // Now resolve fields
            foreach (var pair in fieldsByFieldContainer)
            {
                foreach (var field in pair.Value.Cast <DataFieldBase>())
                {
                    field.ResolveFields(this, pair.Key);
                }
            }

            // Reset all fields to default values.
            foreach (var pair in fieldsByFieldContainer)
            {
                foreach (var field in pair.Value)
                {
                    field.Reset();
                }
            }

            // Note: must populate this *after* containers.
            LogicalRoot = new DataTreeNode(this, logicalSchemaRoot);
        }