public void loadTemplateConditionalFormatting(TemplateColumns col) { if (col.templateConditionalFormatting != null) { col.templateConditionalFormatting.Clear(); } query = "SELECT formattingID, op, color, number FROM templateColumn_formatting WHERE templateColumnID = " + col.templateColumnID; DataTable dtFormatting = null; try { dtFormatting = db.read(query); } catch (Exception ee) { throw new DataException("Unable to load template columns: " + ee.Message, ee); } List <TemplateConditionalFormatting> formats = new List <TemplateConditionalFormatting>(); for (int j = 0; j < dtFormatting.Rows.Count; j++) { formats.Add(bindFormatting(dtFormatting.Rows[j])); } col.templateConditionalFormatting = formats; }
public void swopColumns(Templates selectedTemplate, TemplateColumns selectedColumn, DIRECTION dir) { TemplateColumns swopColumn = new TemplateColumns(); int currentColumnPosition = selectedColumn.position; if (dir == DIRECTION.UP) { //can't move top up if (currentColumnPosition == 1) { throw new Exception("Unable to move column: This column is already at the top"); } //gets the column position to swop with swopColumn = selectedTemplate.getColumnWithPosition(currentColumnPosition - 1); if (swopColumn == null) { throw new Exception("Unable to determine swop column"); } } else { //can't move last one down if (currentColumnPosition == (getNewTemplateColumnPosition(selectedTemplate) - 1)) { throw new Exception("Unable to move column: This column is already at the bottom"); } //gets the column position to swop with swopColumn = selectedTemplate.getColumnWithPosition(currentColumnPosition + 1); if (swopColumn == null) { throw new Exception("Unable to determine swop column"); } } ArrayList queries = new ArrayList(); queries.Add("UPDATE templateColumns SET position = " + swopColumn.position + " WHERE templateColumnID = " + selectedColumn.templateColumnID); queries.Add("UPDATE templateColumns SET position = " + currentColumnPosition + " WHERE templateColumnID = " + swopColumn.templateColumnID); try { db.writeTransaction(queries); } catch (Exception ee) { throw new Exception("Unable to move column: " + ee.Message); } try { loadTemplateColumns(selectedTemplate); } catch (DataException ee) { throw; } }
public void insertFormatting(TemplateColumns column, string op, decimal number, Color color) { string convertToDB = color.A + "#" + color.R + "#" + color.G + "#" + color.B; query = "INSERT INTO templateColumn_formatting (templateColumnID, op, color, number) VALUES (" + column.templateColumnID + ", '" + op + "', '" + convertToDB + "', " + number + ")"; try { db.write(query); } catch (Exception ee) { throw new DataException("Unable to insert formatting: " + ee.Message, ee); } }
private DataTable getTemplateStockItemsMaster(Supplier s, Templates selectedTemplate) { //build select string columns = ""; for (int i = 0; i < selectedTemplate.templateColumns.Count; i++) { TemplateColumns tc = selectedTemplate.templateColumns[i]; if (string.IsNullOrWhiteSpace(tc.databaseColumn)) { if (tc.calculationType == columnCalculationType.MERGE) { string[] parts = tc.calculation.Split(new char[] { '+' }); for (int p = 0; p < parts.Length; p++) { string valColumn = parts[p].Replace("]", "").Replace("[", "").Trim(); if (!valColumn.Contains("space") & valColumn != "") { columns += valColumn + ","; } } } } else { columns += tc.databaseColumn + ","; } } columns += "mustExport, overrideMargins, d_agencyMargin, d_grossMargin, d_discount, shortCode, productCode_Orig, active"; query = @"SELECT " + columns + @" FROM " + stockTableName + " WHERE supplierID = " + s.supplierID; DataTable dt = null; try { dt = db.read(query); } catch (Exception ee) { throw new DataException("Unable to retrieve template stock items: " + ee.Message, ee); } return(dt); }
private string[] buildQueryStringTemplateColumns(QueryTypes queryType, TemplateColumns itemToUse) { List <Type> allowedTypes = new List <Type>(); allowedTypes.Add(typeof(string)); allowedTypes.Add(typeof(bool)); allowedTypes.Add(typeof(int)); allowedTypes.Add(typeof(decimal)); allowedTypes.Add(typeof(columnCalculationType)); allowedTypes.Add(typeof(columnTypes)); List <string> properties = new List <string>(); Type info = typeof(TemplateColumns); foreach (PropertyInfo pi in info.GetProperties()) { if (allowedTypes.Contains(pi.PropertyType)) { properties.Add(pi.Name); } } string[] returnQuery = new string[2]; switch (queryType) { case QueryTypes.SELECT: { foreach (string s in properties) { returnQuery[0] += s + ", "; } } break; case QueryTypes.INSERT: { } break; } returnQuery[0] = returnQuery[0].Substring(0, returnQuery.Length - 2); return(returnQuery); }
private void OnTemplateTypeChanged() { TemplateColumns.Clear(); PropertyNames.Clear(); var allProps = ImportFactory.GetEditableProperties(TemplateType); foreach (var prop in allProps) { PropertyNames.Add(prop.Name); } var requiredProperties = ImportFactory.GetRequiredProperties(TemplateType); foreach (var prop in requiredProperties) { TemplateColumns.Add(new TemplateColumn() { IsRequired = true, IsMandatory = true, PropertyName = prop.Name, ColumnName = prop.Name }); } }
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); }