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); }