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"); } ITableModel table = databaseContext.Table; if (table == null) { throw new Exception($"The {nameof(TableModel)} is not set"); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (!(table?.Columns ?? new List <IColumnModel>()).Any(m => m.IsIndexed)) { return(String.Empty); } var result = TemplateHandler. HandleFunctionTemplate (TrimedStringContext, DatabaseContextCopier.CopyWithOverride(databaseContext, table)); return(result); }
public AbstractTemplateContextHandler(ITemplateHandler templateHandlerNew) { if (templateHandlerNew == null) { throw new ArgumentNullException(nameof(templateHandlerNew)); } TemplateHandler = templateHandlerNew; DatabaseContextCopier = new DatabaseContextCopier(); //TODO bad architecture to be solved with IOC }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); ITableModel table = databaseContext.Table; string TrimedStringContext = TrimContextFromContextWrapper(StringContext); if (!(table?.Columns ?? new List <IColumnModel>()).Any(m => m.IsAutoGeneratedValue)) { return(String.Empty); } var result = TemplateHandler. HandleFunctionTemplate (TrimedStringContext, DatabaseContextCopier.CopyWithOverride(databaseContext, table)); return(result); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); ITableModel table = databaseContext.Table; string TrimedStringContext = TrimContextFromContextWrapper(StringContext); var columns = table.Columns; if (columns == null) { throw new ArgumentNullException(nameof(table.Columns)); } var result = string.Join(string.Empty, columns.Select(currentColumn => TemplateHandler.HandleTemplate(TrimedStringContext, DatabaseContextCopier.CopyWithOverride(databaseContext, currentColumn)))); return(result); }
public override string ProcessContext(String StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); ITableModel table = databaseContext.Table; if (table.Columns == null) { throw new Exception($"The {nameof(TableModel.Columns)} are not set in {nameof(TableModel)}"); } if (table.Columns.Any(m => m == null)) { throw new Exception($"There is a null reference in the {nameof(TableModel.Columns)} from {nameof(TableModel)}"); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); var indexedColumns = table.Columns.Where(m => m.IsPrimaryKey); var eachIndexedcolumnResult = indexedColumns .Select(currentColumn => TemplateHandler.HandleTemplate(TrimedStringContext, DatabaseContextCopier.CopyWithOverride(databaseContext, currentColumn))); var result = string.Join(string.Empty, eachIndexedcolumnResult); return(result); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); ITableModel table = databaseContext.Table; string TrimedStringContext = TrimContextFromContextWrapper(StringContext); var columns = table.Columns; if (columns == null) { throw new ArgumentException($"{table.Columns} are not set for {nameof(table)}"); } var notAutoGeneratedColumn = columns.Where(currentColumn => !currentColumn.IsAutoGeneratedValue).ToList(); var result = string.Join(string.Empty, notAutoGeneratedColumn.Select(currentColumn => TemplateHandler.HandleTemplate(TrimedStringContext, DatabaseContextCopier.CopyWithOverride(databaseContext, currentColumn)))); return(result); }
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) { ControlContext(StringContext, databaseContext); IDatabaseModel descriptionPojo = databaseContext.Database; string TrimedStringContext = TrimContextFromContextWrapper(StringContext); string result = string.Join(string.Empty, descriptionPojo.Tables.Select(currentTable => TemplateHandler.HandleTemplate(TrimedStringContext, DatabaseContextCopier.CopyWithOverride(databaseContext, currentTable)))); return(result); }
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"); } ITableModel table = databaseContext.Table; if (table == null) { throw new Exception($"The {nameof(TableModel)} is not set"); } string TrimedStringContext = TrimContextFromContextWrapper(StringContext); var autoGeneratedValueColumns = table.Columns.Where(m => m.IsAutoGeneratedValue).ToList(); var result = string.Join(string.Empty, autoGeneratedValueColumns.Select(currentColumn => TemplateHandler.HandleTemplate(TrimedStringContext, DatabaseContextCopier.CopyWithOverride(databaseContext, currentColumn)))); return(result); }
public override string ProcessContext(string StringContext, IDatabaseContext databaseContext) { ControlContext(StringContext, databaseContext); var visitedTablesStack = new List <List <ITableModel> >(); var currentVisitedTables = new List <ITableModel>() { databaseContext.Table }; while (currentVisitedTables.Any()) { visitedTablesStack = visitedTablesStack.Append(currentVisitedTables).ToList(); var extractionResults = ExtractForeignTables(databaseContext.Database, currentVisitedTables); currentVisitedTables = extractionResults.SelectMany(m => m.Item2).Reverse().ToList(); } var tableAndDepth = visitedTablesStack.SelectMany( (currentList, depth) => currentList.Select(current => Tuple.Create(current, depth))).Skip(1).Reverse().ToList(); string trimedStringContext = TrimContextFromContextWrapper(StringContext); var result = string.Join(string.Empty, tableAndDepth.Select(tableAndDepth => TemplateHandler.HandleTemplate(trimedStringContext, DatabaseContextCopier.CopyWithOverride(databaseContext, tableAndDepth.Item1)))); return(result); }