static void FixBadColumnName02(TableHeader c) { //move NameAndOccupationOrRelativeType to NameOrRelativeType if Occupation is present if (c.ContainsField(DeclarationField.NameAndOccupationOrRelativeType) && c.ContainsField(DeclarationField.Occupation) ) { TColumnInfo s = c.ColumnOrder[DeclarationField.NameAndOccupationOrRelativeType]; s.Field = DeclarationField.NameOrRelativeType; c.Add(s); c.Delete(DeclarationField.NameAndOccupationOrRelativeType); } }
static void FixBadColumnName01_Template(TableHeader c, DeclarationField naturalText, DeclarationField country, DeclarationField square, DeclarationField type) { //move MixedColumnWithNaturalText to MixedRealEstateType if (!c.ContainsField(naturalText)) { return; } if (c.ContainsField(country) && c.ContainsField(square) ) { TColumnInfo s = c.ColumnOrder[naturalText]; s.Field = type; c.Add(s); c.Delete(naturalText); } }
static void FixMissingSubheadersForVehicle(IAdapter adapter, TableHeader columnOrdering) { if (!columnOrdering.ContainsField(DeclarationField.Vehicle)) { return; } TColumnInfo dummy; var headerCell = adapter.GetDeclarationFieldWeak(columnOrdering, columnOrdering.HeaderBegin.Value, DeclarationField.Vehicle, out dummy); if (headerCell.MergedColsCount != 2) { return; } var subCells = FindSubcellsUnder(adapter, headerCell); if (subCells.Count == 1) { return; } string cleanHeader = headerCell.Text.ToLower().Replace(" ", ""); if (cleanHeader.Contains("транспортныесредства") && cleanHeader.Contains("марка") && cleanHeader.Contains("вид")) { TColumnInfo columnVehicleType = new TColumnInfo(); columnVehicleType.BeginColumn = headerCell.Col; columnVehicleType.EndColumn = headerCell.Col + 1; columnVehicleType.ColumnPixelWidth = headerCell.CellWidth / 2; columnVehicleType.Field = DeclarationField.VehicleType; columnOrdering.Add(columnVehicleType); TColumnInfo columnVehicleModel = new TColumnInfo(); columnVehicleModel.BeginColumn = headerCell.Col + 1; columnVehicleModel.EndColumn = headerCell.Col + 2; columnVehicleModel.ColumnPixelWidth = headerCell.CellWidth / 2; columnVehicleModel.Field = DeclarationField.VehicleModel; columnOrdering.Add(columnVehicleModel); columnOrdering.Delete(DeclarationField.Vehicle); } }
static void FixMissingSubheadersForMergedColumns(IAdapter adapter, TableHeader columnOrdering, DeclarationField mergedField, DeclarationField[] subColumns) { if (!columnOrdering.ContainsField(mergedField)) { return; } TColumnInfo dummy; var headerCell = adapter.GetDeclarationFieldWeak(columnOrdering, columnOrdering.HeaderBegin.Value, mergedField, out dummy); var subCells = FindSubcellsUnder(adapter, headerCell); // we check only the second column, todo check the first one and the third if (subCells.Count != subColumns.Count() || !CheckSquareColumn(adapter, columnOrdering.FirstDataRow, 5, subCells, 1)) { return; } for (int i = 0; i < subColumns.Count(); ++i) { AddColumn(columnOrdering, subColumns[i], subCells[i]); } columnOrdering.Delete(mergedField); }