public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { if (databaseContext == null) { throw new ArgumentNullException(nameof(databaseContext)); } base.ControlContext(StringContext, databaseContext); string TrimedStringContext = TrimContextFromContextWrapper(StringContext); base.ControlContextContent(TrimedStringContext); if (databaseContext.Table == null) { return(DefaultAutoIndexAsString); } IColumnModel columnModel = databaseContext.Column; IList <IColumnModel> parentColumn = databaseContext.Table.Columns; if (parentColumn == null) { return(DefaultAutoIndexAsString); } if (parentColumn.Any(m => columnModel == m)) { return(parentColumn.IndexOf(columnModel).ToString()); } return(DefaultAutoIndexAsString); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { if (databaseContext == null) { throw new ArgumentNullException(nameof(databaseContext)); } if (StringContext == null) { throw new Exception($"The provided {nameof(StringContext)} is null"); } IColumnModel columnModel = databaseContext.Column; if (columnModel == null) { throw new Exception($"The {nameof(ColumnModel)} is not set"); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (!TrimedStringContext.Equals("")) { throw new Exception($"There is a problem with the provided {nameof(StringContext)} :'{StringContext}' to the suited word '" + (Signature) + "'"); } return(columnModel.Type); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); IColumnModel column = databaseContext.Column; string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (!TrimedStringContext.Equals("")) { throw new Exception($"There is a problem with the provided StringContext :'{StringContext}' to the suited word '{Signature}'"); } if (databaseContext.Table == null) { return(ZeroIndexAsString); } int currentIndex = ZeroIndex; int currentAutoIndex = ZeroIndex; IList <IColumnModel> columnList = databaseContext.Table.Columns; for (currentIndex = 0; currentIndex < columnList.Count; currentIndex++) { IColumnModel currentColumn = columnList[currentIndex]; if (currentColumn.IsNotNull) { if (currentColumn.Equals(column)) { return(Convert.ToString(currentAutoIndex)); } currentAutoIndex++; } } return(ZeroIndexAsString); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { if (databaseContext == null) { throw new ArgumentNullException(nameof(databaseContext)); } if (StringContext == null) { throw new Exception($"The provided {StringContext} is null"); } IColumnModel columnModel = databaseContext.Column; if (columnModel == null) { throw new Exception($"The {databaseContext.Column} is not set"); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (columnModel.IsAutoGeneratedValue) { return(HandleTrimedContext(TrimedStringContext, databaseContext)); } else { return(""); } }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); IColumnModel columnModel = databaseContext.Column; var parentTable = databaseContext.Table; if (parentTable == null) { throw new Exception("The provided column has no parent table"); } IList <IColumnModel> columnList = parentTable.Columns; if (columnList == null || !columnList.Any()) { throw new Exception("The provided column's parent table has no column associated to"); } if (columnModel.IsIndexed == false) { return(string.Empty); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); var indexedColumn = columnList.FirstOrDefault(currentColumn => currentColumn.IsIndexed); if (indexedColumn == default(IColumnModel)) { return(string.Empty); } if (indexedColumn.Equals(columnModel)) { return(HandleTrimedContext(TrimedStringContext, databaseContext)); } return(string.Empty); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); IColumnModel columnModel = databaseContext.Column; string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (databaseContext.Table == null) { throw new Exception("The provided column has no parent table"); } IList <IColumnModel> columnList = databaseContext.Table.Columns; if (columnList == null || !(columnList.Count > 0)) { throw new Exception("The provided column's parent table has no column associated to"); } foreach (IColumnModel currentColumn in columnList) { if (!currentColumn.IsAutoGeneratedValue) { if (currentColumn.Equals(columnModel)) { return(HandleTrimedContext(TrimedStringContext, databaseContext)); } else { return(""); } } } return(""); }
/// <inheritdoc /> public IInsertStatementBuilder WithIdColumn(string columnName) { var columnModel = new ColumnModel(columnName) { DatabaseProvider = DatabaseProvider }; _idColumn = columnModel; return(this); }
/// <inheritdoc /> public ISelectStatementBuilder WithColumn(IColumnModel statementColumn) { if (statementColumn == null) { throw new ArgumentNullException(nameof(statementColumn)); } statementColumn.DatabaseProvider = DatabaseProvider; _selectColumns.Add(statementColumn); return(this); }
public IDatabaseContext CopyWithOverride(IDatabaseContext copied, IColumnModel column) { return(new ProcessorDatabaseContext() { Column = column, ForeignKeyConstraint = copied.ForeignKeyConstraint, Table = copied.Table, ConstraintVisitorContext = copied.ConstraintVisitorContext, Database = copied.Database, }); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); IColumnModel columnModel = databaseContext.Column; string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (!TrimedStringContext.Equals("")) { throw new Exception($"There is a problem with the provided {nameof(StringContext)} :'{StringContext}' to the suited word '{Signature}'"); } return(columnModel.Name); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); IColumnModel columnModel = databaseContext.Column; if (columnModel.IsIndexed) { return(string.Empty); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); return(HandleTrimedContext(TrimedStringContext, databaseContext)); }
public PersistableColumnModel ToPersistable(IColumnModel converted) { var result = new PersistableColumnModel(); result.IsAutoGeneratedValue = converted.IsAutoGeneratedValue; result.IsNotNull = converted.IsNotNull; result.IsPrimaryKey = converted.IsPrimaryKey; result.Name = converted.Name; result.Type = converted.Type; result.ValueMaxSize = converted.ValueMaxSize; result.IsIndexed = converted.IsIndexed; return(result); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); IColumnModel columnModel = databaseContext.Column; string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (!columnModel.IsAutoGeneratedValue) { return(HandleTrimedContext(TrimedStringContext, databaseContext)); } else { return(""); } }
public override string HandleTrimedContext(string StringTrimedContext, IDatabaseContext databaseContext) { if (StringTrimedContext == null) { return(null); } IColumnModel columnModel = databaseContext.Column; if (columnModel == null) { return(StringTrimedContext); } return(TemplateHandler. HandleTemplate(StringTrimedContext, databaseContext)); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { if (databaseContext == null) { throw new ArgumentNullException(nameof(databaseContext)); } if (StringContext == null) { throw new Exception($"The provided {nameof(StringContext)} is null"); } IColumnModel columnModel = databaseContext.Column; if (columnModel == null) { throw new Exception($"The {nameof(ColumnModel)} is not set"); } if (databaseContext.Table == null) { throw new Exception("The provided column has no parent table"); } IList <IColumnModel> columnList = databaseContext.Table.Columns; if (columnList == null || !columnList.Any()) { throw new Exception("The provided column's parent table has no column associated to"); } if (columnModel.IsAutoGeneratedValue == false) { return(string.Empty); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); var indexedColumn = columnList.FirstOrDefault(currentColumn => currentColumn.IsAutoGeneratedValue); if (indexedColumn == default(IColumnModel)) { return(string.Empty); } if (!indexedColumn.Equals(columnModel)) { return(HandleTrimedContext(TrimedStringContext, databaseContext)); } return(string.Empty); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { if (databaseContext == null) { throw new ArgumentNullException(nameof(databaseContext)); } if (StringContext == null) { throw new Exception($"The provided {nameof(StringContext)} is null"); } IColumnModel column = databaseContext.Column; if (column == null) { throw new Exception($"The {nameof(ColumnModel)} is not set"); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (TrimedStringContext == "") { throw new Exception("There is a problem with the function provided in template '" + (StartContext + TrimedStringContext + EndContext) + "' -> The value parameter cannot be empty"); } InitConversionHandlerMap(); if (!DestinationTypeSets.Contains(TrimedStringContext.ToLowerInvariant())) { return($"CONVERT:UNKNOWN({TrimedStringContext})"); } if (conversionMap.TryGetValue(new MappingKey() { DestinationTypeSet = TrimedStringContext.ToLowerInvariant(), SourceType = column.Type }, out var result)) { var processedResult = TemplateHandler.HandleTableColumnTemplate(result, DatabaseContextCopier.CopyWithOverride(databaseContext, column)); return(processedResult); } return(column.Type); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { if (databaseContext == null) { throw new ArgumentNullException(nameof(databaseContext)); } if (StringContext == null) { throw new Exception($"The provided {nameof(StringContext)} is null"); } IColumnModel columnModel = databaseContext.Column; if (columnModel == null) { throw new Exception($"The {nameof(columnModel)} is not set"); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (databaseContext.Table == null) { throw new Exception("The provided column has no parent table"); } IList <IColumnModel> columnList = databaseContext.Table.Columns; if (columnList == null || !(columnList.Count > 0)) { throw new Exception("The provided column's parent table has no column associated to"); } if (columnModel.Equals(columnList[(columnList.Count - 1)])) { return(HandleTrimedContext(TrimedStringContext, databaseContext)); } else { return(""); } }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); IColumnModel descriptionPojo = databaseContext.Column; string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (databaseContext.Table == null) { throw new Exception("The provided column has no parent table"); } IList <IColumnModel> columnList = databaseContext.Table.Columns; if (columnList == null || !(columnList.Count > 0)) { throw new Exception("The provided column's parent table has no column associated to"); } IColumnModel currentLastPrimaryColumn = null; foreach (IColumnModel currentColumn in columnList) { if (!currentColumn.IsPrimaryKey) { currentLastPrimaryColumn = currentColumn; } } if (currentLastPrimaryColumn == null) { return(""); } if (currentLastPrimaryColumn.Equals(descriptionPojo)) { return(""); } return(HandleTrimedContext(TrimedStringContext, databaseContext)); }
/// <inheritdoc /> public override void Clear() { _insertTableName = string.Empty; _idColumn = null; _insertColumns.Clear(); }
public ColumnProperties(IColumnModel model) { this.mModel = model; }
bool IColumnModelLookup.TryGetValue(string columnName, out IColumnModel value) => _columnDictionary.TryGetValue(columnName?.Trim().ToLower(), out value);
/// <summary> /// Reads a worksheet and returns a set of <see cref="List{T}"/> of the entries. /// <br/><br/> /// Must not return null. /// </summary> protected virtual IList OnReadSheet(ExcelWorksheet worksheet, ISheetModel model) { if (worksheet == null) { throw new ArgumentNullException(nameof(worksheet)); } if (model == null) { throw new ArgumentNullException(nameof(model)); } ExcelRange dataRange = (model.ReadRangeLocator ?? DefaultReadRangeLocator)(worksheet); if (dataRange == null) { //no data on sheet if (model.Columns.Any(x => !x.Optional)) { throw new SheetEmptyException(model.Name); } return(CreateListForSheet(model.Type)); } IList data = CreateListForSheet(model.Type, dataRange.Rows - 1); var headerRow = dataRange.Start.Row; var firstCol = dataRange.Start.Column; var columns = dataRange.Columns; var firstRow = dataRange.Start.Row + 1; var lastRow = dataRange.End.Row; var columnMapping = new IColumnModel[columns]; var columnMapped = new bool[model.Columns.Count]; var modelColumns = model.Columns.ToList(); for (int colIndex = 0; colIndex < columns; colIndex++) { var col = colIndex + firstCol; var cell = worksheet.Cells[headerRow, col]; if (cell.Value != null) { var headerName = cell.Text; if (model.Columns.TryGetValue(headerName, out var columnModel)) { var columnModelIndex = modelColumns.IndexOf(columnModel); if (columnMapped[columnModelIndex]) { throw new DuplicateColumnException(columnModel.Name, model.Name); } columnMapped[columnModelIndex] = true; columnMapping[colIndex] = columnModel; } } } for (int i = 0; i < model.Columns.Count; i++) { if (columnMapped[i] == false && !model.Columns[i].Optional) { throw new ColumnMissingException(model.Columns[i].Name, model.Name); } } for (int row = firstRow; row <= lastRow; row++) { var range = worksheet.Cells[row, firstCol, row, firstCol + columns - 1]; var obj = OnReadRow(range, model, columnMapping); if (obj != null) { data.Add(obj); } } return(data); }
internal ColumnProperties(IColumnModel model) { mModel = model; }