private void Mapping_Click(object sender, EventArgs e) { try { bool doMapping = sender.Equals(this.buttonMap) ? true : false; if (this.fastColumnMapping.SelectedObject != null) { ColumnMappingDTO columnMappingDTO = this.fastColumnMapping.SelectedObject as ColumnMappingDTO; if (columnMappingDTO != null)//Check for a valid selected row { ColumnAvailableDTO columnAvailableDTO = null; if (doMapping) { if (this.fastColumnAvailable.SelectedObject == null) { return; } columnAvailableDTO = this.fastColumnAvailable.SelectedObject as ColumnAvailableDTO; if (columnAvailableDTO == null) { return; //Check for a valid selected row } List <ColumnMappingDTO> foundColumnMappingDTOs = this.ColumnMappingDTOs.Where(w => w.ColumnMappingName == columnAvailableDTO.ColumnAvailableName).ToList(); foreach (ColumnMappingDTO foundColumnMappingDTO in foundColumnMappingDTOs) //Clear current mapping foundColumnMappingDTOs { foundColumnMappingDTO.ColumnMappingName = ""; fastColumnMapping.RefreshObject(foundColumnMappingDTO); } } List <ColumnAvailableDTO> foundColumnAvailableDTOs = this.ColumnAvailableDTOs.Where(w => w.ColumnMappingName == columnMappingDTO.ColumnDisplayName).ToList(); foreach (ColumnAvailableDTO foundColumnAvailableDTO in foundColumnAvailableDTOs)//Clear current mapping foundColumnAvailableDTOs { foundColumnAvailableDTO.ColumnMappingName = ""; fastColumnAvailable.RefreshObject(foundColumnAvailableDTO); } if (doMapping) {//Make a collumn mapping: columnMappingDTO => columnAvailableDTO columnMappingDTO.ColumnMappingName = columnAvailableDTO.ColumnAvailableName; columnAvailableDTO.ColumnMappingName = columnMappingDTO.ColumnDisplayName; fastColumnMapping.RefreshObject(columnMappingDTO); fastColumnAvailable.RefreshObject(columnAvailableDTO); } else//Clear current mapping columnMappingDTO { columnMappingDTO.ColumnMappingName = ""; fastColumnMapping.RefreshObject(columnMappingDTO); } } } } catch (Exception exception) { ExceptionHandlers.ShowExceptionMessageBox(this, exception); } }
private void ColumnMappings_Load(object sender, EventArgs e) { try { this.ColumnAvailableDTOs = new BindingList <ColumnAvailableDTO>(); DataTable excelDataTable = this.oleDbAPIs.OpenExcelSheet(this.excelFile, this.sheetName, "*"); if (excelDataTable != null && excelDataTable.Columns.Count > 0) {//Get available column from current file foreach (DataColumn dataColumn in excelDataTable.Columns) { this.ColumnAvailableDTOs.Add(new ColumnAvailableDTO() { ColumnAvailableName = dataColumn.ColumnName }); } } this.DoInitColumnHeaders(); ColumnMappingDTOs = this.oleDbAPIs.GetColumnMappings();//Get required column (and saved mapping data) foreach (ColumnMappingDTO columnMappingDTO in this.ColumnMappingDTOs) { if (columnMappingDTO.ColumnMappingName != "") {//Remove un-matching from current file to saved mapping data before continue ColumnAvailableDTO columnAvailableDTO = this.ColumnAvailableDTOs.Where(w => w.ColumnAvailableName == columnMappingDTO.ColumnMappingName).FirstOrDefault(); if (columnAvailableDTO != null) { columnAvailableDTO.ColumnMappingName = columnMappingDTO.ColumnDisplayName; } else { columnMappingDTO.ColumnMappingName = ""; } } } this.fastColumnAvailable.SetObjects(this.ColumnAvailableDTOs); this.fastColumnMapping.SetObjects(this.ColumnMappingDTOs); } catch (Exception exception) { ExceptionHandlers.ShowExceptionMessageBox(this, exception); } }