public TableColumnMapping(TableMapping sourceTableMapping, DBColumn sourceColumn, DBColumn destinationColumn, ColumnUse columnUse) : base(destinationColumn, columnUse) { this.sourceTableMapping = sourceTableMapping; this.sourceColumn = sourceColumn; }
public ExcelColumnMapping(string sourceHeaderName, DBColumn destinationColumn, ColumnUse columnUse) : base(destinationColumn, columnUse) { this.sourceHeaderName = sourceHeaderName; }
protected ColumnMapping(DBColumn destinationColumn, ColumnUse columnUse) { this.destinationColumn = destinationColumn; this.columnUse = columnUse; }
public NullColumnMapping(DBColumn destinationColumn, ColumnUse columnUse) : base(destinationColumn, columnUse) { }
public LiteralColumnMapping(string literal, LiteralType literalType, DBColumn destinationColumn, ColumnUse columnUse) : base(destinationColumn, columnUse) { this.literal = literal; this.literalType = literalType; }
private TableMapping[] readTableMappings(XmlReader reader, Database database) { Dictionary <int, TableMapping> tableMappings = new Dictionary <int, TableMapping>(); Dictionary <TableMapping, XElement> columnMappingReaders = new Dictionary <TableMapping, XElement>(); if (reader.ReadToFollowing("TableMappings")) { using (XmlReader tmlReader = reader.ReadSubtree()) { while (tmlReader.ReadToFollowing("TableMapping")) { { int index = int.Parse(tmlReader.GetAttribute("index")); string destinationTableReference = tmlReader.GetAttribute("destinationTableReference"); string importType = tmlReader.GetAttribute("importType"); DBTable table = database.Tables.Where(t => t.Reference == destinationTableReference).First(); TableMapping tableMapping = new TableMapping(table, (TableMappingImportType)Enum.Parse(typeof(TableMappingImportType), importType), null); tableMappings.Add(index, tableMapping); if (tmlReader.ReadToFollowing("ColumnMappings")) { XmlReader cmlReader = tmlReader.ReadSubtree(); XElement cml = XElement.Load(cmlReader); columnMappingReaders.Add(tableMapping, cml); } } } foreach (TableMapping tableMapping in columnMappingReaders.Keys) { List <ColumnMapping> columnMappings = new List <ColumnMapping>(); XElement columnMappingsElement = columnMappingReaders[tableMapping]; IEnumerable <XElement> columnMappingElements = columnMappingsElement.Elements(); foreach (XElement columnMappingElement in columnMappingElements) { if (columnMappingElement.Name == "ColumnMapping") { string type = columnMappingElement.Attribute("type").Value; ColumnUse columnUse = (ColumnUse)Enum.Parse(typeof(ColumnUse), columnMappingElement.Attribute("columnUse").Value); string destinationColumnReference = columnMappingElement.Attribute("destinationColumnReference").Value; DBColumn destinationColumn = tableMapping.DestinationTable.Columns .Where(c => c.Name.ToLower() == destinationColumnReference.ToLower()).First(); ColumnMapping columnMapping = null; if (type == typeof(ExcelColumnMapping).Name) { string sourceHeader = columnMappingElement.Attribute("sourceHeader").Value; columnMapping = new ExcelColumnMapping(sourceHeader, destinationColumn, columnUse); } else if (type == typeof(TableColumnMapping).Name) { int sourceTableMappingIndex = int.Parse(columnMappingElement.Attribute("sourceTableMappingIndex").Value); string sourceColumnReference = columnMappingElement.Attribute("sourceColumnReference").Value; TableMapping sourceTableMapping = tableMappings[sourceTableMappingIndex]; DBColumn sourceColumn = sourceTableMapping.DestinationTable.Columns .Where(c => c.Name.ToLower() == sourceColumnReference.ToLower()).First(); columnMapping = new TableColumnMapping(sourceTableMapping, sourceColumn, destinationColumn, columnUse); } else if (type == typeof(LiteralColumnMapping).Name) { string litearal = columnMappingElement.Attribute("literal").Value; string literalType = columnMappingElement.Attribute("literalType").Value; columnMapping = new LiteralColumnMapping(litearal, (LiteralType)Enum.Parse(typeof(LiteralType), literalType), destinationColumn, columnUse); } else { columnMapping = new NullColumnMapping(destinationColumn, columnUse); } columnMappings.Add(columnMapping); } } tableMapping.ColumnMappings = columnMappings.ToArray(); } } } return(tableMappings.Values.ToArray()); }
public void ChangeAllowedColumnUses() { NotifyPropertyChanged("AllowedColumnUses"); ColumnUse = AllowedColumnUses[0]; }
public static ColumnMappingViewModel CreateBlankSourceViewModel(ColumnMappingImportType importType, TableMappingViewModel tableMappingViewModel, DBColumn destinationColumn, ColumnUse columnUse) { switch (importType) { case (SQLImporter.ViewModel.ColumnMappingImportType.Excel): ExcelColumnMapping excelColumnMapping = new ExcelColumnMapping("", destinationColumn, columnUse); return(new ExcelColumnMappingViewModel(excelColumnMapping, tableMappingViewModel)); case (SQLImporter.ViewModel.ColumnMappingImportType.Table): TableColumnMapping tableColumnMapping = new TableColumnMapping(null, null, destinationColumn, columnUse); return(new TableColumnMappingViewModel(tableColumnMapping, tableMappingViewModel)); case (SQLImporter.ViewModel.ColumnMappingImportType.Literal): LiteralColumnMapping literalColumnMapping = new LiteralColumnMapping("", LiteralType.String, destinationColumn, columnUse); return(new LiteralColumnMappingViewModel(literalColumnMapping, tableMappingViewModel)); default: NullColumnMapping nullColumnMapping = new NullColumnMapping(destinationColumn, columnUse); return(new NullColumnMappingViewModel(nullColumnMapping, tableMappingViewModel)); } }