private void button8_Click(object sender, EventArgs e) { txtDBColumnName.CausesValidation = true; cbColumnType.CausesValidation = true; if (!validateInputs(panel1)) { return; } columnTypes selectedType = columnTypes.STRING; switch (cbColumnType.Text) { case "DECIMAL 0.00": { selectedType = columnTypes.DECIMAL_18_2; } break; case "DECIMAL 0.000": { selectedType = columnTypes.DECIMAL_18_3; } break; case "DECIMAL 0.0000": { selectedType = columnTypes.DECIMAL_18_4; } break; case "DECIMAL 0.00000": { selectedType = columnTypes.DECIMAL_18_5; } break; } tempMethods.createDBColumn(txtDBColumnName.Text, selectedType); cbColumnNames.SelectedValue = txtDBColumnName.Text; txtDBColumnName.Text = ""; loadDBColumns(); }
private void createDBColumnMaster(string columnName, columnTypes colType, TableNames.StockTables tableName) { //format columnName columnName = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(columnName.ToLower()); columnName = columnName.Replace(" ", ""); //determines the column type string scolType = "VARCHAR(500)"; switch (colType) { case columnTypes.DECIMAL_18_2: { scolType = "DECIMAL(18, 2)"; } break; case columnTypes.DECIMAL_18_3: { scolType = "DECIMAL(18, 3)"; } break; case columnTypes.DECIMAL_18_4: { scolType = "DECIMAL(18, 4)"; } break; case columnTypes.DECIMAL_18_5: { scolType = "DECIMAL(18, 5)"; } break; } //creates the column string query = @" IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' AND COLUMN_NAME = '" + columnName + @"') ALTER TABLE [DBO]." + tableName + " ADD " + columnName + @" " + scolType + @" NULL "; try { db.write(query); } catch (Exception ee) { throw new DataException("Unable to create database column: " + ee.Message, ee); } }
public void createDBColumn(string columnName, columnTypes colType) { createDBColumnMaster(columnName, colType, TableNames.StockTables.StockItems); createDBColumnMaster(columnName, colType, TableNames.StockTables.StockItems_Specials); }
private TemplateColumns bindTemplateColumns(DataRow dr) { TemplateColumns tc = new TemplateColumns(); tc.templateColumnID = dr["templateColumnID"].ToString(); tc.csvHeader = dr["csvHeader"].ToString(); tc.databaseColumn = dr["databaseColumn"].ToString(); switch (dr["calculationType"].ToString()) { case "CALCULATE": { tc.calculationType = columnCalculationType.CALCULATE; } break; case "MERGE": { tc.calculationType = columnCalculationType.MERGE; } break; case "NONE": { tc.calculationType = columnCalculationType.NONE; } break; case "COPY": { tc.calculationType = columnCalculationType.COPY; } break; default: { tc.calculationType = columnCalculationType.NONE; } break; } columnTypes selectedFormat = columnTypes.STRING; switch (dr["columnType"].ToString()) { case "STRING": { selectedFormat = columnTypes.STRING; } break; case "DECIMAL 0.00": { selectedFormat = columnTypes.DECIMAL_18_2; } break; case "DECIMAL 0.000": { selectedFormat = columnTypes.DECIMAL_18_3; } break; case "DECIMAL 0.0000": { selectedFormat = columnTypes.DECIMAL_18_4; } break; case "DECIMAL 0.00000": { selectedFormat = columnTypes.DECIMAL_18_5; } break; } tc.columnType = selectedFormat; tc.calculation = dr["calculation"].ToString(); tc.applyRounding = bool.Parse(dr["applyRounding"].ToString()); tc.dontOverride = bool.Parse(dr["dontOverride"].ToString()); tc.position = int.Parse(dr["position"].ToString()); tc.exportDefault = dr["exportDefault"].ToString(); if (!string.IsNullOrWhiteSpace(dr["includeAttributes"].ToString())) { tc.includeAttributes = bool.Parse(dr["includeAttributes"].ToString()); } tc.specialsBasePriceCSVColumn = dr["specialsBasePriceCSVColumn"].ToString(); if (!string.IsNullOrWhiteSpace(dr["isSpecialsExportColumn"].ToString())) { tc.isSpecialsExportColumn = bool.Parse(dr["isSpecialsExportColumn"].ToString()); } if (!string.IsNullOrWhiteSpace(dr["keepOriginalData"].ToString())) { tc.keepOriginalData = bool.Parse(dr["keepOriginalData"].ToString()); } else { tc.keepOriginalData = true; } return(tc); }