public override string BuildSql(SqlOptions sqlOptions) { var columnName = ColumnName.BuildSql(sqlOptions, FlowOptions.Construct(this)); var value = Value.BuildSql(sqlOptions, FlowOptions.Construct(this)); return($"{columnName} = {value}"); }
public DistributedFlow(IDistributedCache distributedCache, ILogger <DistributedFlow>?logger = default, IOptions <FlowOptions>?options = default, ISerializer?serializer = default) { Instance = distributedCache ?? throw new ArgumentNullException(nameof(distributedCache)); _activitySource = ActivitySourceContainer.Instance; _logger = logger ?? new NullLogger <DistributedFlow>(); _serializer = serializer ?? new TextJsonSerializer(); if (options is null) { _logger.LogNoOptionsProvided(nameof(DistributedFlow)); Options = new FlowOptions(); } else { Options = options.Value; } if (Options.DataLoggingLevel is DataLogLevel.Disabled) { _logger = new NullLogger <DistributedFlow>(); } _executor = new Executor(_logger, Options.SuppressCacheExceptions, Options.DataLoggingLevel); _prefix = CacheKeyHelper.GetFullCacheKeyPrefix(Options.CacheKeyPrefix, Options.CacheKeyDelimiter); _logSensitive = Options.DataLoggingLevel is DataLogLevel.Sensitive; }
public MemoryFlow(IMemoryCache memoryCache, ILogger <MemoryFlow>?logger = default, IOptions <FlowOptions>?options = default) { _activitySource = ActivitySourceContainer.Instance; Instance = memoryCache ?? throw new ArgumentNullException(nameof(memoryCache)); _logger = logger ?? new NullLogger <MemoryFlow>(); if (options is null) { _logger.LogNoOptionsProvided(nameof(MemoryFlow)); Options = new FlowOptions(); } else { Options = options.Value; } if (Options.DataLoggingLevel is DataLogLevel.Disabled) { _logger = new NullLogger <MemoryFlow>(); } _executor = new Executor(_logger, Options.SuppressCacheExceptions, Options.DataLoggingLevel); _prefix = CacheKeyHelper.GetFullCacheKeyPrefix(Options.CacheKeyPrefix, Options.CacheKeyDelimiter); _logSensitive = Options.DataLoggingLevel is DataLogLevel.Sensitive; }
public override string BuildSql(SqlOptions sqlOptions) { var columns = string.Join($",{sqlOptions.NewLine()}{sqlOptions.Indent()}", Entities.Select(e => e.BuildSql(sqlOptions, FlowOptions.Construct(this)))); var command = sqlOptions.Command("VALUES"); return $"{command} ({sqlOptions.NewLine()}{sqlOptions.Indent()}{columns}{sqlOptions.NewLine()})"; }
public override string BuildSql(SqlOptions sqlOptions) { var tableName = Entity.BuildSql(sqlOptions, FlowOptions.Construct(this)); var command = sqlOptions.Command("INSERT INTO"); return($"{command} {tableName}"); }
public override string BuildSql(SqlOptions sqlOptions) { var command = sqlOptions.Command("UPDATE"); var tableName = TableName.BuildSql(sqlOptions, FlowOptions.Construct(this)); return($"{command} {tableName}"); }
public override string BuildSql(SqlOptions sqlOptions) { string joinType; switch (JoinType) { case JoinType.Inner: joinType = "INNER JOIN"; break; case JoinType.Left: joinType = "LEFT JOIN"; break; case JoinType.Right: joinType = "RIGHT JOIN"; break; case JoinType.FullOuter: joinType = "FULL OUTER JOIN"; break; default: throw new ArgumentException(nameof(JoinType)); } var command = sqlOptions.Command(joinType); var table = TableEntity.BuildSql(sqlOptions, FlowOptions.Construct(this)); var on = OnBlock.BuildSql(sqlOptions, FlowOptions.Construct(this)); return($"{command} {table} {on}"); }
public override string BuildSql(SqlOptions sqlOptions) { var orders = Entities.Select(s => s.BuildSql(sqlOptions, FlowOptions.Construct(this))); var order = string.Join($",{sqlOptions.NewLine()}{sqlOptions.Indent()}", orders); return($"{sqlOptions.Command("ORDER BY")}{sqlOptions.NewLine()}{sqlOptions.Indent()}{order}"); }
public override string BuildSql(SqlOptions sqlOptions) { var command = sqlOptions.Command("ON"); var property = Property.BuildSql(sqlOptions, FlowOptions.Construct(this)); return($"{command} {property}"); }
public override string BuildSql(SqlOptions sqlOptions) { var entities = Entities.Select(c => $"{c.BuildSql(sqlOptions, FlowOptions.Construct(this))}"); var columns = string.Join($",{sqlOptions.NewLine()}{sqlOptions.Indent()}", entities); var command = sqlOptions.Command("SET"); return($"{command}{sqlOptions.NewLine()}{sqlOptions.Indent()}{columns}"); }
public override string BuildSql(SqlOptions sqlOptions) { var columnName = ColumnName.BuildSql(sqlOptions, FlowOptions.Construct(this)); var propertyName = PropertyName.BuildSql(sqlOptions, FlowOptions.Construct(this)); var command = "="; return($"{columnName} {command} {propertyName}"); }
public FlowClient(IPAddress address, int port, FlowOptions options = null) { this.address = address; this.port = port; this.options = options ?? new FlowOptions(); flowBinder = new FlowBinder(this.options); clientSocket = new TcpClient(); }
public static void Clear() { FlowOptions = null; IsGitFlow = false; BranchName = string.Empty; SolutionDir = string.Empty; TortoiseGitProc = string.Empty; HasStash = false; Git = string.Empty; }
internal override string BuildSql(SqlOptions sqlOptions, FlowOptions flowOptions) { var r = base.BuildSql(sqlOptions, flowOptions); var parentPriority = flowOptions.Parent?.GetPriority(sqlOptions); var priority = GetPriority(sqlOptions); if (priority > parentPriority) { return($"({r})"); } return(r); }
public override string BuildSql(SqlOptions sqlOptions) { var tableColumnName = TableColumn.BuildSql(sqlOptions, FlowOptions.Construct(this)); if (Value?.Present(sqlOptions) != true) { return($"{tableColumnName}"); } var property = Value.BuildSql(sqlOptions, FlowOptions.Construct(this)); var command = sqlOptions.Command("AS"); return($"{tableColumnName} {command} {property}"); }
public DoubleFlow(IDistributedFlow distributed, IMemoryFlow memory, ILogger <DoubleFlow>?logger = default, IOptions <FlowOptions>?options = default) { _distributed = distributed; _memory = memory; if (options is null) { logger?.LogNoOptionsProvided(nameof(DoubleFlow)); Options = new FlowOptions(); } else { Options = options.Value; } }
public override string BuildSql(SqlOptions sqlOptions) { AndOperator andBlock; if (Entities.Count == 1 && Entities[0] is AndOperator andOperator) { andBlock = andOperator; } else { andBlock = new AndOperator(Entities); } andBlock.Indent = true; andBlock.NewLine = true; var conditions = andBlock.BuildSql(sqlOptions, FlowOptions.Construct(this)); var command = sqlOptions.Command("WHERE"); return($"{command}{sqlOptions.NewLine()}{sqlOptions.Indent(" ")}{conditions}"); }
public override string BuildSql(SqlOptions sqlOptions) { string command; switch (sqlOptions.DatabaseType) { case SqlDatabaseType.MsSql: command = sqlOptions.Command("FETCH NEXT"); break; default: command = sqlOptions.Command("LIMIT"); break; } var limitBy = LimitBy?.BuildSql(sqlOptions, FlowOptions.Construct(this)); return($"{command} {limitBy}"); }
public override string BuildSql(SqlOptions sqlOptions) { string dir; switch (Direction) { case OrderDirection.Asc: dir = "ASC"; break; case OrderDirection.Desc: dir = "DESC"; break; default: return(null); } var command = sqlOptions.Command(dir); var orderItem = OrderItemOperand?.BuildSql(sqlOptions, FlowOptions.Construct(this)) ?? throw new ArgumentException(nameof(OrderItemOperand)); return($"{orderItem} {command}"); }
public override string BuildSql(SqlOptions sqlOptions) { var properties = string.Join($",{sqlOptions.NewLine()}{sqlOptions.Indent()}", Entities.Select(e => e.BuildSql(sqlOptions, FlowOptions.Construct(this)))); string command; switch (sqlOptions.DatabaseType) { case SqlDatabaseType.Postgres: case SqlDatabaseType.SqLite: command = sqlOptions.Command("DO UPDATE SET"); break; case SqlDatabaseType.MySql: case SqlDatabaseType.MariaDb: command = sqlOptions.Command("UPDATE"); break; default: return(null); } return($"{command}{sqlOptions.NewLine()}{sqlOptions.Indent()}{properties}"); }
public static void GetFlowOptions() { FlowOptions = GitHelper.GetFlowOptions(); IsGitFlow = !string.IsNullOrEmpty(FlowOptions.MasterBranch); }
public override string BuildSql(SqlOptions sqlOptions) { if (sqlOptions == null) { throw new ArgumentException(nameof(sqlOptions)); } CheckBeforeBuild(sqlOptions); IEnumerable <SqlBuilderEntity> data = new SqlBuilderEntity[] { CustomSqlBlocks[SqlSelectPosition.Start], SelectValuesBlock, CustomSqlBlocks[SqlSelectPosition.Select], FromTablesBlock, CustomSqlBlocks[SqlSelectPosition.From], JoinsBlock, CustomSqlBlocks[SqlSelectPosition.Join], WhereBlock, CustomSqlBlocks[SqlSelectPosition.Where], OrdersBlock, CustomSqlBlocks[SqlSelectPosition.Order], OffsetBlock, CustomSqlBlocks[SqlSelectPosition.Offset], LimitBlock, CustomSqlBlocks[SqlSelectPosition.Limit] }; var commands = data.Where(b => CheckBlock(b, sqlOptions)).Select(b => b.BuildSql(sqlOptions, FlowOptions.Construct(this))); return(string.Join(sqlOptions.NewLine(), commands)); }
public override string BuildSql(SqlOptions sqlOptions) { var tables = string.Join(", ", Entities.Select(e => e.BuildSql(sqlOptions, FlowOptions.Construct(this)))); var command = sqlOptions.Command("FROM"); return($"{command} {tables}"); }
public FlowServer(FlowOptions options = null) { this.options = options ?? new FlowOptions(); flowBinder = new FlowBinder(this.options); serverClients = new FlowGroup(this); }
public override string BuildSql(SqlOptions sqlOptions) { var joins = Entities.Select(e => e.BuildSql(sqlOptions, FlowOptions.Construct(this))); return(string.Join(sqlOptions.NewLine(), joins)); }
public override string BuildSql(SqlOptions sqlOptions) { var operands = string.Join(", ", Operands.Where(operand => operand.Present(sqlOptions)) .Select(operand => operand.BuildSql(sqlOptions, FlowOptions.Construct(this)))); var command = sqlOptions.Command(Command); return($"{command}({operands})"); }
public override string BuildSql(SqlOptions sqlOptions) { var offset = Offset?.BuildSql(sqlOptions, FlowOptions.Construct(this)); return($"{sqlOptions.Command("OFFSET")} {offset}"); }
internal virtual string BuildSql(SqlOptions sqlOptions, FlowOptions flowOptions) { return(BuildSql(sqlOptions)); }
public override string BuildSql(SqlOptions sqlOptions) { var columns = string.Join($",{sqlOptions.NewLine()}{sqlOptions.Indent()}", Entities.Select(e => e.BuildSql(sqlOptions, FlowOptions.Construct(this)))); return($"{sqlOptions.Command("SELECT")}{sqlOptions.NewLine()}{sqlOptions.Indent()}{columns}"); }
public override string BuildSql(SqlOptions sqlOptions) { if (sqlOptions == null) { throw new ArgumentException(nameof(sqlOptions)); } var updatedSqlOptions = ((SqlOptions)sqlOptions.Clone()).WithoutTableNames(); CheckBeforeBuild(updatedSqlOptions); IEnumerable <SqlBuilderEntity> data = new SqlBuilderEntity[] { CustomBlocks[SqlDeletePosition.Start], DeleteFromBlock, CustomBlocks[SqlDeletePosition.From], WhereBlock, CustomBlocks[SqlDeletePosition.Where], ReturningsBlock, CustomBlocks[SqlDeletePosition.Return] }; var commands = data.Where(b => CheckBlock(b, updatedSqlOptions)).Select(b => b.BuildSql(updatedSqlOptions, FlowOptions.Construct(this))); return(string.Join(sqlOptions.NewLine(), commands)); }
public override string BuildSql(SqlOptions sqlOptions) { if (sqlOptions == null) { throw new ArgumentException(nameof(sqlOptions)); } CheckBeforeBuild(sqlOptions); IEnumerable <SqlBuilderEntity> data = new SqlBuilderEntity[] { CustomBlocks[SqlInsertPosition.Start], InsertIntoBlock, CustomBlocks[SqlInsertPosition.Into], InsertColumnsBlock, InsertValuesBlock, CustomBlocks[SqlInsertPosition.Values], ConflictUpdate, CustomBlocks[SqlInsertPosition.Conflict], DoUpdateBlock, DoNothingBlock, CustomBlocks[SqlInsertPosition.Do], WhereBlock, CustomBlocks[SqlInsertPosition.Where], ReturningBlock, CustomBlocks[SqlInsertPosition.Return], }; var commands = data.Where(b => CheckBlock(b, sqlOptions)).Select(b => b.BuildSql(sqlOptions, FlowOptions.Construct(this))); return(string.Join(sqlOptions.NewLine(), commands)); }
public override string BuildSql(SqlOptions sqlOptions) { if (sqlOptions == null) { throw new ArgumentException(nameof(sqlOptions)); } CheckBeforeBuild(sqlOptions); IEnumerable <SqlBuilderEntity> data = new SqlBuilderEntity[] { CustomBlocks[SqlUpdatePosition.Start], UpdateTableBlock, CustomBlocks[SqlUpdatePosition.Table], ColumnsBlock, CustomBlocks[SqlUpdatePosition.Columns], WhereBlock, CustomBlocks[SqlUpdatePosition.Where], ReturningsBlock, CustomBlocks[SqlUpdatePosition.Return] }; var commands = data.Where(b => CheckBlock(b, sqlOptions)).Select(b => b.BuildSql(sqlOptions, FlowOptions.Construct(this))); return(string.Join(sqlOptions.NewLine(), commands)); }