Here are the examples of the csharp api System.Text.StringBuilder.Append(string) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
30015 Examples
19
Source : SqlBuilderBase.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
protected void GenericInsert(ExprInsert exprInsert, Action? middleHandler, Action? endHandler)
{
this.Builder.Append("INSERT INTO ");
exprInsert.Target.Accept(this, exprInsert);
if (exprInsert.TargetColumns != null)
{
this.replacedertNotEmptyList(exprInsert.TargetColumns, "Insert column list cannot be empty");
this.AcceptListComaSeparatedPar('(', exprInsert.TargetColumns, ')', exprInsert);
}
if (middleHandler != null)
{
this.Builder.Append(' ');
middleHandler();
}
this.Builder.Append(' ');
exprInsert.Source.Accept(this, exprInsert);
if (endHandler != null)
{
this.Builder.Append(' ');
endHandler();
}
}
19
Source : SqlBuilderBase.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
public bool VisitExprInsertValues(ExprInsertValues exprInsertValues, IExpr? parent)
{
if (exprInsertValues.Items.Count < 1)
{
throw new SqExpressException("Insert values should have at least one record");
}
this.Builder.Append("VALUES ");
for (var i = 0; i < exprInsertValues.Items.Count; i++)
{
var rowValue = exprInsertValues.Items[i];
if (i > 0)
{
this.Builder.Append(',');
}
rowValue.Accept(this, exprInsertValues);
}
return true;
}
19
Source : SqlBuilderBase.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
protected bool VisitExprCastCommon(ExprCast exprCast, IExpr? parent)
{
this.Builder.Append("CAST(");
exprCast.Expression.Accept(this, exprCast);
this.Builder.Append(" AS ");
exprCast.SqlType.Accept(this, exprCast);
this.Builder.Append(')');
return true;
}
19
Source : SqlBuilderBase.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
protected void AppendNull()
{
this.Builder.Append("NULL");
}
19
Source : SqlStatementBuilderBase.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
protected void AppendTable(StatementCreateTable statementCreateTable)
{
var table = statementCreateTable.Table;
this.Builder.Append("CREATE ");
this.AppendTempKeyword(table.FullName);
this.Builder.Append("TABLE ");
statementCreateTable.Table.FullName.Accept(this.ExprBuilder, null);
this.Builder.Append('(');
Columnreplacedysis replacedysis = Columnreplacedysis.Build();
for (int i = 0; i < table.Columns.Count; i++)
{
if (i != 0)
{
this.Builder.Append(',');
}
var column = table.Columns[i];
replacedysis.replacedyze(column);
this.AppendColumn(column: column);
}
this.AppendPkConstraints(table, replacedysis);
this.AppendFkConstraints(table, replacedysis);
this.AppendIndexesInside(table);
this.Builder.Append(')');
this.Builder.Append(';');
this.AppendIndexesOutside(table);
}
19
Source : SqlStatementBuilderBase.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
private void AppendPkConstraints(TableBase table, Columnreplacedysis replacedysis)
{
if (replacedysis.Pk.Count < 1)
{
return;
}
this.Builder.Append(",CONSTRAINT");
if (this.IsNamedPk())
{
this.Builder.Append(' ');
this.AppendName(this.BuildPkName(table.FullName));
}
this.Builder.Append(" PRIMARY KEY ");
this.ExprBuilder.AcceptListComaSeparatedPar('(', replacedysis.Pk, ')', null);
}
19
Source : SqlStatementBuilderBase.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
private void AppendFkConstraints(TableBase table, Columnreplacedysis replacedysis)
{
foreach (var replacedysisFk in replacedysis.Fks)
{
var foreignTable = replacedysisFk.Key;
var pairList = replacedysisFk.Value;
this.Builder.Append(",CONSTRAINT ");
this.AppendName(this.BuildFkName(table.FullName, foreignTable));
this.Builder.Append(" FOREIGN KEY ");
this.ExprBuilder.AcceptListComaSeparatedPar('(', pairList.SelectToReadOnlyList(i => i.Internal), ')', null);
this.Builder.Append(" REFERENCES ");
foreignTable.Accept(this.ExprBuilder, null);
this.ExprBuilder.AcceptListComaSeparatedPar('(', pairList.SelectToReadOnlyList(i => i.External), ')', null);
}
}
19
Source : SqlStatementBuilderBase.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
protected void AppendIndexColumnList(IndexMeta tableIndex)
{
tableIndex.Columns.replacedertNotEmpty("Table index has to contain at least one column");
this.Builder.Append('(');
for (var index = 0; index < tableIndex.Columns.Count; index++)
{
var column = tableIndex.Columns[index];
if (index != 0)
{
this.Builder.Append(',');
}
column.Column.ColumnName.Accept(this.ExprBuilder, null);
if (column.Descending)
{
this.Builder.Append(" DESC");
}
}
this.Builder.Append(')');
}
19
Source : SqlStatementBuilderBase.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
private string BuildFkName(IExprTableFullName tableIn, IExprTableFullName foreignTableIn)
{
StringBuilder nameBuilder = new StringBuilder();
ExprTableFullName table = tableIn.AsExprTableFullName();
ExprTableFullName foreignTable = foreignTableIn.AsExprTableFullName();
var schemaName = table.DbSchema != null ? this.Options.MapSchema(table.DbSchema.Schema.Name) + "_" : null;
nameBuilder.Append("FK_");
if (schemaName != null)
{
nameBuilder.Append(schemaName);
nameBuilder.Append('_');
}
nameBuilder.Append(table.TableName.Name);
nameBuilder.Append("_to_");
if (schemaName != null)
{
nameBuilder.Append(schemaName);
nameBuilder.Append('_');
}
nameBuilder.Append(foreignTable.TableName.Name);
return nameBuilder.ToString();
}
19
Source : FourCC.cs
with MIT License
from 0xC0000054
with MIT License
from 0xC0000054
public override string ToString()
{
uint value = this.Value;
StringBuilder builder = new StringBuilder(20);
builder.Append('\'');
for (int i = 3; i >= 0; i--)
{
uint c = (value >> (i * 8)) & 0xff;
// Ignore any bytes that are not printable ASCII characters
// because they can not be displayed in the debugger watch windows.
if (c >= 0x20 && c <= 0x7e)
{
builder.Append((char)c);
}
}
builder.Append('\'');
builder.Append(" (0x").Append(value.ToString("X8")).Append(')');
return builder.ToString();
}
19
Source : Program.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
public void AppendStart(int tabs, string line)
{
this._builder.Append(' ', (this._indentTabs + tabs) * 4);
this._builder.Append(line);
}
19
Source : Program.cs
with MIT License
from 0x1000000
with MIT License
from 0x1000000
public void Append(string line)
{
this._builder.Append(line);
}
19
Source : ExifParser.cs
with MIT License
from 0xC0000054
with MIT License
from 0xC0000054
private string GetValueStringFromOffset()
{
string valueString;
TagDataType type = this.entry.Type;
uint count = this.entry.Count;
uint offset = this.entry.Offset;
if (count == 0)
{
return string.Empty;
}
int typeSizeInBytes = TagDataTypeUtil.GetSizeInBytes(type);
if (typeSizeInBytes == 1)
{
byte[] bytes = new byte[count];
if (this.offsetIsBigEndian)
{
switch (count)
{
case 1:
bytes[0] = (byte)((offset >> 24) & 0x000000ff);
break;
case 2:
bytes[0] = (byte)((offset >> 24) & 0x000000ff);
bytes[1] = (byte)((offset >> 16) & 0x000000ff);
break;
case 3:
bytes[0] = (byte)((offset >> 24) & 0x000000ff);
bytes[1] = (byte)((offset >> 16) & 0x000000ff);
bytes[2] = (byte)((offset >> 8) & 0x000000ff);
break;
case 4:
bytes[0] = (byte)((offset >> 24) & 0x000000ff);
bytes[1] = (byte)((offset >> 16) & 0x000000ff);
bytes[2] = (byte)((offset >> 8) & 0x000000ff);
bytes[3] = (byte)(offset & 0x000000ff);
break;
}
}
else
{
switch (count)
{
case 1:
bytes[0] = (byte)(offset & 0x000000ff);
break;
case 2:
bytes[0] = (byte)(offset & 0x000000ff);
bytes[1] = (byte)((offset >> 8) & 0x000000ff);
break;
case 3:
bytes[0] = (byte)(offset & 0x000000ff);
bytes[1] = (byte)((offset >> 8) & 0x000000ff);
bytes[2] = (byte)((offset >> 16) & 0x000000ff);
break;
case 4:
bytes[0] = (byte)(offset & 0x000000ff);
bytes[1] = (byte)((offset >> 8) & 0x000000ff);
bytes[2] = (byte)((offset >> 16) & 0x000000ff);
bytes[3] = (byte)((offset >> 24) & 0x000000ff);
break;
}
}
if (type == TagDataType.Ascii)
{
valueString = Encoding.ASCII.GetString(bytes).TrimEnd('\0');
}
else if (count == 1)
{
valueString = bytes[0].ToString(CultureInfo.InvariantCulture);
}
else
{
StringBuilder builder = new StringBuilder();
uint lasreplacedemIndex = count - 1;
for (int i = 0; i < count; i++)
{
builder.Append(bytes[i].ToString(CultureInfo.InvariantCulture));
if (i < lasreplacedemIndex)
{
builder.Append(",");
}
}
valueString = builder.ToString();
}
}
else if (typeSizeInBytes == 2)
{
ushort[] values = new ushort[count];
if (this.offsetIsBigEndian)
{
switch (count)
{
case 1:
values[0] = (ushort)((offset >> 16) & 0x0000ffff);
break;
case 2:
values[0] = (ushort)((offset >> 16) & 0x0000ffff);
values[1] = (ushort)(offset & 0x0000ffff);
break;
}
}
else
{
switch (count)
{
case 1:
values[0] = (ushort)(offset & 0x0000ffff);
break;
case 2:
values[0] = (ushort)(offset & 0x0000ffff);
values[1] = (ushort)((offset >> 16) & 0x0000ffff);
break;
}
}
if (count == 1)
{
switch (type)
{
case TagDataType.SShort:
valueString = ((short)values[0]).ToString(CultureInfo.InvariantCulture);
break;
case TagDataType.Short:
default:
valueString = values[0].ToString(CultureInfo.InvariantCulture);
break;
}
}
else
{
switch (type)
{
case TagDataType.SShort:
valueString = ((short)values[0]).ToString(CultureInfo.InvariantCulture) + "," +
((short)values[1]).ToString(CultureInfo.InvariantCulture);
break;
case TagDataType.Short:
default:
valueString = values[0].ToString(CultureInfo.InvariantCulture) + "," +
values[1].ToString(CultureInfo.InvariantCulture);
break;
}
}
}
else
{
valueString = offset.ToString(CultureInfo.InvariantCulture);
}
return valueString;
}
19
Source : Program.cs
with MIT License
from 0xDivyanshu
with MIT License
from 0xDivyanshu
public static string CreateMD5(string input)
{
// Use input string to calculate MD5 hash
using (System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create())
{
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
byte[] hashBytes = md5.ComputeHash(inputBytes);
// Convert the byte array to hexadecimal string
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
sb.Append(hashBytes[i].ToString("X2"));
}
return sb.ToString();
}
}
19
Source : ExifParser.cs
with MIT License
from 0xC0000054
with MIT License
from 0xC0000054
private string GetValueStringFromOffset()
{
string valueString;
TagDataType type = entry.Type;
uint count = entry.Count;
uint offset = entry.Offset;
if (count == 0)
{
return string.Empty;
}
int typeSizeInBytes = TagDataTypeUtil.GetSizeInBytes(type);
if (typeSizeInBytes == 1)
{
byte[] bytes = new byte[count];
if (offsetIsBigEndian)
{
switch (count)
{
case 1:
bytes[0] = (byte)((offset >> 24) & 0x000000ff);
break;
case 2:
bytes[0] = (byte)((offset >> 24) & 0x000000ff);
bytes[1] = (byte)((offset >> 16) & 0x000000ff);
break;
case 3:
bytes[0] = (byte)((offset >> 24) & 0x000000ff);
bytes[1] = (byte)((offset >> 16) & 0x000000ff);
bytes[2] = (byte)((offset >> 8) & 0x000000ff);
break;
case 4:
bytes[0] = (byte)((offset >> 24) & 0x000000ff);
bytes[1] = (byte)((offset >> 16) & 0x000000ff);
bytes[2] = (byte)((offset >> 8) & 0x000000ff);
bytes[3] = (byte)(offset & 0x000000ff);
break;
}
}
else
{
switch (count)
{
case 1:
bytes[0] = (byte)(offset & 0x000000ff);
break;
case 2:
bytes[0] = (byte)(offset & 0x000000ff);
bytes[1] = (byte)((offset >> 8) & 0x000000ff);
break;
case 3:
bytes[0] = (byte)(offset & 0x000000ff);
bytes[1] = (byte)((offset >> 8) & 0x000000ff);
bytes[2] = (byte)((offset >> 16) & 0x000000ff);
break;
case 4:
bytes[0] = (byte)(offset & 0x000000ff);
bytes[1] = (byte)((offset >> 8) & 0x000000ff);
bytes[2] = (byte)((offset >> 16) & 0x000000ff);
bytes[3] = (byte)((offset >> 24) & 0x000000ff);
break;
}
}
if (type == TagDataType.Ascii)
{
valueString = Encoding.ASCII.GetString(bytes).TrimEnd('\0');
}
else if (count == 1)
{
valueString = bytes[0].ToString(CultureInfo.InvariantCulture);
}
else
{
StringBuilder builder = new StringBuilder();
uint lasreplacedemIndex = count - 1;
for (int i = 0; i < count; i++)
{
builder.Append(bytes[i].ToString(CultureInfo.InvariantCulture));
if (i < lasreplacedemIndex)
{
builder.Append(",");
}
}
valueString = builder.ToString();
}
}
else if (typeSizeInBytes == 2)
{
ushort[] values = new ushort[count];
if (offsetIsBigEndian)
{
switch (count)
{
case 1:
values[0] = (ushort)((offset >> 16) & 0x0000ffff);
break;
case 2:
values[0] = (ushort)((offset >> 16) & 0x0000ffff);
values[1] = (ushort)(offset & 0x0000ffff);
break;
}
}
else
{
switch (count)
{
case 1:
values[0] = (ushort)(offset & 0x0000ffff);
break;
case 2:
values[0] = (ushort)(offset & 0x0000ffff);
values[1] = (ushort)((offset >> 16) & 0x0000ffff);
break;
}
}
if (count == 1)
{
switch (type)
{
case TagDataType.SShort:
valueString = ((short)values[0]).ToString(CultureInfo.InvariantCulture);
break;
case TagDataType.Short:
default:
valueString = values[0].ToString(CultureInfo.InvariantCulture);
break;
}
}
else
{
switch (type)
{
case TagDataType.SShort:
valueString = ((short)values[0]).ToString(CultureInfo.InvariantCulture) + "," +
((short)values[1]).ToString(CultureInfo.InvariantCulture);
break;
case TagDataType.Short:
default:
valueString = values[0].ToString(CultureInfo.InvariantCulture) + "," +
values[1].ToString(CultureInfo.InvariantCulture);
break;
}
}
}
else
{
valueString = offset.ToString(CultureInfo.InvariantCulture);
}
return valueString;
}
19
Source : ICachingKeyGenerator.Default.cs
with MIT License
from 1100100
with MIT License
from 1100100
public string GenerateKeyPlaceholder(string keyPrefix, int globalExpire, string route, MethodInfo methodInfo, CachingAttribute cachingAttribute = default)
{
var sb = new StringBuilder();
if (!string.IsNullOrWhiteSpace(keyPrefix))
sb.AppendFormat("{0}{1}", keyPrefix, LinkString);
if (cachingAttribute == null || string.IsNullOrWhiteSpace(cachingAttribute.Key))
{
sb.AppendFormat("{0}", route);
if (methodInfo.GetParameters().Length > 0)
sb.Append(LinkString + "{0}");
}
else
sb.Append(cachingAttribute.Key);
return sb.ToString();
}
19
Source : StringEx.cs
with MIT License
from 13xforever
with MIT License
from 13xforever
public static string AsHex(this byte[] bytes)
{
if (bytes == null)
return null;
if (bytes.Length == 0)
return "";
var result = new StringBuilder(bytes.Length*2);
foreach (var b in bytes)
result.Append(b.ToString("x2"));
return result.ToString();
}
19
Source : UriExtensions.cs
with MIT License
from 13xforever
with MIT License
from 13xforever
public static Uri AddQueryParameters(Uri uri, IEnumerable<KeyValuePair<string, string>> parameters)
{
var builder = new StringBuilder();
foreach (var param in parameters)
{
if (builder.Length > 0)
builder.Append('&');
builder.Append(Uri.EscapeDataString(param.Key));
builder.Append('=');
builder.Append(Uri.EscapeDataString(param.Value));
}
return AddQueryValue(uri, builder.ToString());
}
19
Source : HexExtensions.cs
with MIT License
from 13xforever
with MIT License
from 13xforever
public static string ToHexString(this byte[] bytes)
{
if (bytes == null)
return null;
if (bytes.Length == 0)
return "";
var result = new StringBuilder(bytes.Length*2);
foreach (var b in bytes)
result.Append(b.ToString("x2"));
return result.ToString();
}
19
Source : ZooKeeperServiceDiscovery.cs
with MIT License
from 1100100
with MIT License
from 1100100
private async Task CreatePath(string path, byte[] data)
{
path = path.Trim('/');
if (string.IsNullOrWhiteSpace(path))
return;
var children = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
var nodePath = new StringBuilder();
for (var i = 0; i < children.Length; i++)
{
nodePath.Append("/" + children[i]);
if (await ZooKeeper.existsAsync(nodePath.ToString()) == null)
{
await ZooKeeper.createAsync(nodePath.ToString(), i == children.Length - 1 ? data : null, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
}
}
}
19
Source : PkgChecker.cs
with MIT License
from 13xforever
with MIT License
from 13xforever
internal static string AsHexString(this byte[] bytes)
{
var result = new StringBuilder();
foreach (var b in bytes)
result.Append(b.ToString("x2"));
return result.ToString();
}
19
Source : DbQuery.cs
with Apache License 2.0
from 1448376744
with Apache License 2.0
from 1448376744
private string ResovleBatchInsert(IEnumerable<T> enreplacedys)
{
var table = GetTableMetaInfo().TableName;
var filters = new GroupExpressionResovle(_filterExpression).Resovle().Split(',');
var columns = GetColumnMetaInfos()
.Where(a => !a.IsComplexType).ToList();
var intcolumns = columns
.Where(a => !filters.Contains(a.ColumnName) && !a.IsNotMapped && !a.IsIdenreplacedy)
.ToList();
var columnNames = string.Join(",", intcolumns.Select(s => s.ColumnName));
if (_context.DbContextType == DbContextType.Mysql)
{
var buffer = new StringBuilder();
buffer.Append($"INSERT INTO {table}({columnNames}) VALUES ");
var serializer = GlobalSettings.EnreplacedyMapperProvider.GetDeserializer(typeof(T));
var list = enreplacedys.ToList();
for (var i = 0; i < list.Count; i++)
{
var item = list[i];
var values = serializer(item);
buffer.Append("(");
for (var j = 0; j < intcolumns.Count; j++)
{
var column = intcolumns[j];
var value = values[column.CsharpName];
if (value == null)
{
buffer.Append(column.IsDefault ? "DEFAULT" : "NULL");
}
else if (column.CsharpType == typeof(bool) || column.CsharpType == typeof(bool?))
{
buffer.Append(Convert.ToBoolean(value) == true ? 1 : 0);
}
else if (column.CsharpType == typeof(DateTime) || column.CsharpType == typeof(DateTime?))
{
buffer.Append($"'{value}'");
}
else if (column.CsharpType.IsValueType || (Nullable.GetUnderlyingType(column.CsharpType)?.IsValueType == true))
{
buffer.Append(value);
}
else
{
var str = SqlEncoding(value.ToString());
buffer.Append($"'{str}'");
}
if (j + 1 < intcolumns.Count)
{
buffer.Append(",");
}
}
buffer.Append(")");
if (i + 1 < list.Count)
{
buffer.Append(",");
}
}
return buffer.Remove(buffer.Length - 1, 0).ToString();
}
throw new NotImplementedException();
}
19
Source : DbQuery.cs
with Apache License 2.0
from 1448376744
with Apache License 2.0
from 1448376744
private string ResolveWhere()
{
var builder = new StringBuilder();
foreach (var expression in _whereExpressions)
{
var result = new BooleanExpressionResovle(expression, _parameters).Resovle();
if (expression == _whereExpressions.First())
{
builder.Append($" WHERE {result}");
}
else
{
builder.Append($" AND {result}");
}
}
return builder.ToString();
}
19
Source : DbQuery.cs
with Apache License 2.0
from 1448376744
with Apache License 2.0
from 1448376744
private string ResolveGroup()
{
var buffer = new StringBuilder();
foreach (var item in _groupExpressions)
{
var result = new GroupExpressionResovle(item).Resovle();
buffer.Append($"{result},");
}
var sql = string.Empty;
if (buffer.Length > 0)
{
buffer.Remove(buffer.Length - 1, 1);
sql = $" GROUP BY {buffer}";
}
return sql;
}
19
Source : DbQuery.cs
with Apache License 2.0
from 1448376744
with Apache License 2.0
from 1448376744
private string ResolveHaving()
{
var buffer = new StringBuilder();
foreach (var item in _havingExpressions)
{
var result = new BooleanExpressionResovle(item, _parameters).Resovle();
if (item == _havingExpressions.First())
{
buffer.Append($" HAVING {result}");
}
else
{
buffer.Append($" AND {result}");
}
}
return buffer.ToString();
}
19
Source : DbQuery.cs
with Apache License 2.0
from 1448376744
with Apache License 2.0
from 1448376744
private string ResolveOrder()
{
var buffer = new StringBuilder();
foreach (var item in _orderExpressions)
{
if (item == _orderExpressions.First())
{
buffer.Append($" ORDER BY ");
}
var result = new OrderExpressionResovle(item.Expression, item.Asc).Resovle();
buffer.Append(result);
buffer.Append(",");
}
return buffer.ToString().Trim(',');
}
19
Source : DbQuery.cs
with Apache License 2.0
from 1448376744
with Apache License 2.0
from 1448376744
private string ResolveUpdate()
{
var table = GetTableMetaInfo().TableName;
var builder = new StringBuilder();
if (_setExpressions.Count > 0)
{
var where = ResolveWhere();
foreach (var item in _setExpressions)
{
var column = new BooleanExpressionResovle(item.Column).Resovle();
var expression = new BooleanExpressionResovle(item.Expression, _parameters).Resovle();
builder.Append($"{column} = {expression},");
}
var sql = $"UPDATE {table} SET {builder.ToString().Trim(',')}{where}";
return sql;
}
else
{
var filters = new GroupExpressionResovle(_filterExpression).Resovle().Split(',');
var where = ResolveWhere();
var columns = GetColumnMetaInfos();
var updcolumns = columns
.Where(a => !filters.Contains(a.ColumnName))
.Where(a => !a.IsComplexType)
.Where(a => !a.IsIdenreplacedy && !a.IsPrimaryKey && !a.IsNotMapped)
.Where(a => !a.IsConcurrencyCheck)
.Select(s => $"{s.ColumnName} = @{s.CsharpName}");
if (string.IsNullOrEmpty(where))
{
var primaryKey = columns.Where(a => a.IsPrimaryKey).FirstOrDefault()
?? columns.First();
where = $" WHERE {primaryKey.ColumnName} = @{primaryKey.CsharpName}";
if (columns.Exists(a => a.IsConcurrencyCheck))
{
var checkColumn = columns.Where(a => a.IsConcurrencyCheck).FirstOrDefault();
where += $" AND {checkColumn.ColumnName} = @{checkColumn.CsharpName}";
}
}
var sql = $"UPDATE {table} SET {string.Join(",", updcolumns)}";
if (columns.Exists(a => a.IsConcurrencyCheck))
{
var checkColumn = columns.Where(a => a.IsConcurrencyCheck).FirstOrDefault();
sql += $",{checkColumn.ColumnName} = @New{checkColumn.CsharpName}";
if (checkColumn.CsharpType.IsValueType)
{
var version = Convert.ToInt32((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds);
_parameters.Add($"New{checkColumn.CsharpName}", version);
}
else
{
var version = Guid.NewGuid().ToString("N");
_parameters.Add($"New{checkColumn.CsharpName}", version);
}
}
sql += where;
return sql;
}
}
19
Source : CommandNode.cs
with Apache License 2.0
from 1448376744
with Apache License 2.0
from 1448376744
private string ResolveWhereNode<T>(WhereNode node, T parameter) where T :clreplaced
{
var buffer = new StringBuilder();
foreach (var item in node.Nodes)
{
if (parameter!=default && item is IfNode)
{
var text = ResolveIfNode(item as IfNode, parameter);
buffer.Append($"{text} ");
}
else if (item is TextNode)
{
var text = ResolveTextNode(item as TextNode);
buffer.Append($"{text} ");
}
}
var sql = buffer.ToString().Trim(' ');
if (sql.StartsWith("and", StringComparison.OrdinalIgnoreCase))
{
sql = sql.Remove(0, 3);
}
else if (sql.StartsWith("or", StringComparison.OrdinalIgnoreCase))
{
sql = sql.Remove(0, 2);
}
return sql.Length > 0 ? "WHERE " + sql : string.Empty;
}
19
Source : MySqlCodeFirstProvider.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private string GenerateColumnAddSql(IColumnDescriptor column, IEnreplacedyDescriptor descriptor)
{
var sql = new StringBuilder();
sql.AppendFormat("{0} ", AppendQuote(column.Name));
switch (column.TypeName)
{
case "CHAR":
//MySql中使用CHAR(36)来保存GUID格式
sql.AppendFormat("CHAR({0}) ", column.Length);
break;
case "VARCHAR":
sql.AppendFormat("VARCHAR({0}) ", column.Length);
break;
case "DECIMAL":
case "DOUBLE":
case "FLOAT":
var precision = column.Precision < 1 ? 18 : column.Precision;
var scale = column.Scale < 1 ? 4 : column.Scale;
sql.AppendFormat("{0}({1},{2}) ", column.TypeName, precision, scale);
break;
default:
sql.AppendFormat("{0} ", column.TypeName);
break;
}
if (column.IsPrimaryKey)
{
sql.Append("PRIMARY KEY ");
if (descriptor.PrimaryKey.IsInt || descriptor.PrimaryKey.IsLong)
{
sql.Append("AUTO_INCREMENT ");
}
}
if (!column.Nullable)
{
sql.Append("NOT NULL ");
}
if (!column.IsPrimaryKey && column.DefaultValue.NotNull())
{
sql.AppendFormat("DEFAULT {0}", column.DefaultValue);
}
if (column.Description.NotNull())
{
sql.AppendFormat(" COMMENT '{0}' ", column.Description);
}
return sql.ToString();
}
19
Source : MySqlDbAdapter.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
public override string GeneratePagingSql(string select, string table, string where, string sort, int skip, int take, string groupBy = null, string having = null)
{
var sqlBuilder = new StringBuilder();
sqlBuilder.AppendFormat("SELECT {0} FROM {1}", select, table);
if (where.NotNull())
sqlBuilder.AppendFormat(" {0}", where);
if (groupBy.NotNull())
sqlBuilder.Append(groupBy);
if (having.NotNull())
sqlBuilder.Append(having);
if (sort.NotNull())
sqlBuilder.AppendFormat("{0}", sort);
if (skip == 0)
sqlBuilder.AppendFormat(" LIMIT {0}", take);
else
sqlBuilder.AppendFormat(" LIMIT {0},{1}", skip, take);
return sqlBuilder.ToString();
}
19
Source : CommonExtensions.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
public static string ToHex(this byte[] bytes, bool lowerCase = true)
{
if (bytes == null)
return null;
var result = new StringBuilder();
var format = lowerCase ? "x2" : "X2";
for (var i = 0; i < bytes.Length; i++)
{
result.Append(bytes[i].ToString(format));
}
return result.ToString();
}
19
Source : MySqlCodeFirstProvider.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private string GenerateCreateTableSql(IEnreplacedyDescriptor descriptor)
{
var columns = descriptor.Columns;
var sql = new StringBuilder();
sql.AppendFormat("CREATE TABLE {0}(", AppendQuote(descriptor.TableName));
for (int i = 0; i < columns.Count; i++)
{
var column = columns[i];
sql.Append(GenerateColumnAddSql(column, descriptor));
if (i < columns.Count - 1)
{
sql.Append(",");
}
}
sql.Append(") ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;");
return sql.ToString();
}
19
Source : SqliteCodeFirstProvider.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private string GenerateCreateTableSql(IEnreplacedyDescriptor descriptor)
{
var columns = descriptor.Columns;
var sql = new StringBuilder();
sql.AppendFormat("CREATE TABLE {0}(", AppendQuote(descriptor.TableName));
for (int i = 0; i < columns.Count; i++)
{
var column = columns[i];
sql.Append(GetColumnAddSql(column, descriptor));
if (i < columns.Count - 1)
{
sql.Append(",");
}
}
sql.Append(");");
return sql.ToString();
}
19
Source : SqliteCodeFirstProvider.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private string GetColumnAddSql(IColumnDescriptor column, IEnreplacedyDescriptor descriptor)
{
var sql = new StringBuilder();
sql.AppendFormat("{0} ", AppendQuote(column.Name));
switch (column.TypeName)
{
case "decimal":
var precision = column.Precision < 1 ? 18 : column.Precision;
var scale = column.Scale < 1 ? 4 : column.Scale;
sql.AppendFormat("{0}({1},{2}) ", column.TypeName, precision, scale);
break;
default:
sql.AppendFormat("{0} ", column.TypeName);
break;
}
if (column.IsPrimaryKey)
{
sql.Append("PRIMARY KEY ");
if (descriptor.PrimaryKey.IsInt || descriptor.PrimaryKey.IsLong)
{
sql.Append("AUTOINCREMENT ");
}
}
if (!column.IsPrimaryKey && column.DefaultValue.NotNull())
{
sql.AppendFormat("DEFAULT {0}", column.DefaultValue);
}
if (!column.Nullable)
{
sql.Append(" NOT NULL ");
}
return sql.ToString();
}
19
Source : SqlServerCodeFirstProvider.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private string GenerateCreateTableSql(IEnreplacedyDescriptor descriptor)
{
var columns = descriptor.Columns;
var sql = new StringBuilder();
sql.AppendFormat("CREATE TABLE {0}(", AppendQuote(descriptor.TableName));
for (int i = 0; i < columns.Count; i++)
{
var column = columns[i];
sql.Append(GenerateColumnAddSql(column, descriptor));
if (i < columns.Count - 1)
{
sql.Append(",");
}
}
sql.Append(");");
foreach (var column in columns)
{
if (column.Description.NotNull())
{
sql.AppendFormat("EXECUTE sp_addextendedproperty N'MS_Description','{0}',N'user',N'dbo',N'table',N'{1}',N'column',N'{2}';", column.Description, descriptor.TableName, column.Name);
}
}
return sql.ToString();
}
19
Source : SqlServerCodeFirstProvider.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private string GenerateColumnAddSql(IColumnDescriptor column, IEnreplacedyDescriptor descriptor)
{
var sql = new StringBuilder();
sql.AppendFormat("{0} ", AppendQuote(column.Name));
switch (column.TypeName)
{
case "NVARCHAR":
sql.AppendFormat("NVARCHAR({0}) ", column.Length < 1 ? "MAX" : column.Length.ToString());
break;
case "DECIMAL":
case "DOUBLE":
case "FLOAT":
var precision = column.Precision < 1 ? 18 : column.Precision;
var scale = column.Scale < 1 ? 4 : column.Scale;
sql.AppendFormat("{0}({1},{2}) ", column.TypeName, precision, scale);
break;
default:
sql.AppendFormat("{0} ", column.TypeName);
break;
}
if (column.IsPrimaryKey)
{
sql.Append("PRIMARY KEY ");
//整数主键要自增
if (descriptor.PrimaryKey.IsInt || descriptor.PrimaryKey.IsLong)
{
sql.Append("IDENreplacedY(1,1) ");
}
}
if (!column.Nullable)
{
sql.Append("NOT NULL ");
}
if (!column.IsPrimaryKey && column.DefaultValue.NotNull())
{
sql.AppendFormat("DEFAULT({0})", column.DefaultValue);
}
return sql.ToString();
}
19
Source : DbAdapterAbstract.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
public void AppendParameter(StringBuilder sb, string parameterName)
{
sb.Append(AppendParameter(parameterName));
}
19
Source : ExpressionResolver.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
public static void ResolveFrom(QueryBody queryBody, StringBuilder sqlBuilder, IQueryParameters parameters)
{
var dbAdapter = queryBody.DbAdapter;
var first = queryBody.Joins.First();
if (queryBody.Joins.Count < 2)
{
sqlBuilder.AppendFormat("{0}", dbAdapter.AppendQuote(first.TableName));
//附加SqlServer的NOLOCK特性
if (dbAdapter.Provider == DbProvider.SqlServer && first.NoLock)
{
sqlBuilder.Append(" WITH (NOLOCK)");
}
return;
}
sqlBuilder.AppendFormat("{0} AS {1}", dbAdapter.AppendQuote(first.TableName), first.Alias);
//附加NOLOCK特性
if (dbAdapter.Provider == DbProvider.SqlServer && first.NoLock)
{
sqlBuilder.Append(" WITH (NOLOCK)");
}
for (var i = 1; i < queryBody.Joins.Count; i++)
{
var join = queryBody.Joins[i];
switch (join.Type)
{
case JoinType.Inner:
sqlBuilder.Append(" INNER");
break;
case JoinType.Right:
sqlBuilder.Append(" RIGHT");
break;
default:
sqlBuilder.Append(" LEFT");
break;
}
sqlBuilder.AppendFormat(" JOIN {0} AS {1}", dbAdapter.AppendQuote(join.TableName), join.Alias);
//附加SqlServer的NOLOCK特性
if (dbAdapter.Provider == DbProvider.SqlServer && first.NoLock)
{
sqlBuilder.Append(" WITH (NOLOCK)");
}
sqlBuilder.Append(" ON ");
sqlBuilder.Append(Resolve(queryBody, join.On, parameters));
if (join.Type == JoinType.Inner)
{
//过滤软删除
if (queryBody.FilterDeleted && join.EnreplacedyDescriptor.IsSoftDelete)
{
sqlBuilder.AppendFormat(" AND {0}.{1} = {2}", join.Alias, dbAdapter.AppendQuote(join.EnreplacedyDescriptor.GetDeletedColumnName()), dbAdapter.BooleanFalseValue);
}
//添加租户过滤
if (queryBody.FilterTenant && join.EnreplacedyDescriptor.IsTenant)
{
var x1 = dbAdapter.AppendQuote(DbConstants.TENANT_COLUMN_NAME);
var tenantId = queryBody.Repository.DbContext.AccountResolver.TenantId;
if (tenantId == null)
{
sqlBuilder.AppendFormat(" AND {0}.{1} IS NULL", join.Alias, x1);
}
else
{
sqlBuilder.AppendFormat(" AND {0}.{1} = '{2}'", join.Alias, x1, tenantId);
}
}
}
}
}
19
Source : ExpressionResolver.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
public static void ResolveWhere(QueryBody queryBody, StringBuilder sqlBuilder, IQueryParameters parameters)
{
sqlBuilder.Append("WHERE ");
//记录下当前sqlBuilder的长度,用于解析完成后比对
var length = sqlBuilder.Length;
//解析where条件
if (queryBody.Wheres.NotNullAndEmpty())
{
foreach (var w in queryBody.Wheres)
{
switch (w.Mode)
{
case QueryWhereMode.Lambda:
Resolve(queryBody, w.Lambda.Body, w.Lambda, sqlBuilder, parameters);
break;
case QueryWhereMode.SubQuery:
Resolve(queryBody, w.SubQueryColumn.Body, w.SubQueryColumn, sqlBuilder, parameters);
var subSql = w.SubQueryable.ToListSql(parameters);
sqlBuilder.AppendFormat("{0} ({1})", w.SubQueryOperator, subSql);
break;
case QueryWhereMode.Sql:
sqlBuilder.AppendFormat("({0})", w.Sql);
break;
}
//通过比对长度判断是否有附加有效条件
if (length != sqlBuilder.Length)
sqlBuilder.Append(" AND ");
}
}
//解析软删除
ResolveWhereForSoftDelete(queryBody, sqlBuilder);
//解析租户
ResolveWhereForTenant(queryBody, sqlBuilder);
/*
* 1、当没有过滤条件时,需要移除WHERE关键字,此时sqlBuilder是以"WHERE "结尾,只需删除最后面的6位即可
* 2、当有过滤条件时,需要移除最后面的AND关键字,此时sqlBuilder是以" AND "结尾,也是只需删除最后面的5位即可
*/
var removeLength = length == sqlBuilder.Length ? 6 : 5;
sqlBuilder.Remove(sqlBuilder.Length - removeLength, removeLength);
}
19
Source : ExpressionResolver.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private static void ResolveBinary(QueryBody queryBody, BinaryExpression exp, LambdaExpression fullLambda, StringBuilder sqlBuilder, IQueryParameters parameters)
{
//针对简写方式的布尔类型解析m => m.Deleted
if (exp.Left.NodeType == ExpressionType.MemberAccess && exp.Left.Type == typeof(bool) && exp.NodeType != ExpressionType.Equal && exp.NodeType != ExpressionType.NotEqual)
{
ResolveMember(queryBody, exp.Left as MemberExpression, fullLambda, sqlBuilder, parameters);
sqlBuilder.Append(" = ");
AppendValue(queryBody, queryBody.DbAdapter.BooleanTrueValue, sqlBuilder, parameters);
}
//针对简写方式的布尔类型解析m => !m.Deleted
else if (exp.Left.NodeType == ExpressionType.Not)
{
ResolveMember(queryBody, (exp.Left as UnaryExpression)!.Operand as MemberExpression, fullLambda, sqlBuilder, parameters);
sqlBuilder.Append(" = ");
AppendValue(queryBody, queryBody.DbAdapter.BooleanFalseValue, sqlBuilder, parameters);
}
else
{
Resolve(queryBody, exp.Left, fullLambda, sqlBuilder, parameters);
}
switch (exp.NodeType)
{
case ExpressionType.And:
case ExpressionType.AndAlso:
sqlBuilder.Append(" AND ");
break;
case ExpressionType.GreaterThan:
sqlBuilder.Append(" > ");
break;
case ExpressionType.GreaterThanOrEqual:
sqlBuilder.Append(" >= ");
break;
case ExpressionType.LessThan:
sqlBuilder.Append(" < ");
break;
case ExpressionType.LessThanOrEqual:
sqlBuilder.Append(" <= ");
break;
case ExpressionType.Equal:
sqlBuilder.Append(" = ");
break;
case ExpressionType.OrElse:
case ExpressionType.Or:
sqlBuilder.Append(" OR ");
break;
case ExpressionType.NotEqual:
sqlBuilder.Append(" <> ");
break;
case ExpressionType.Add:
sqlBuilder.Append(" + ");
break;
case ExpressionType.Subtract:
sqlBuilder.Append(" - ");
break;
case ExpressionType.Multiply:
sqlBuilder.Append(" * ");
break;
case ExpressionType.Divide:
sqlBuilder.Append(" / ");
break;
}
Resolve(queryBody, exp.Right, fullLambda, sqlBuilder, parameters);
}
19
Source : ExpressionResolver.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private static void ResolveMember(QueryBody queryBody, MemberExpression exp, LambdaExpression fullLambda, StringBuilder sqlBuilder, IQueryParameters parameters)
{
if (exp.Expression != null)
{
switch (exp.Expression.NodeType)
{
case ExpressionType.Parameter:
sqlBuilder.Append(queryBody.GetColumnName(exp));
break;
case ExpressionType.Constant:
var val = ResolveDynamicInvoke(exp);
AppendValue(queryBody, val, sqlBuilder, parameters);
break;
case ExpressionType.MemberAccess:
if (exp.Expression is MemberExpression subMemberExp && subMemberExp.Expression!.NodeType == ExpressionType.Constant)
{
val = ResolveDynamicInvoke(exp);
AppendValue(queryBody, val, sqlBuilder, parameters);
}
else if (exp.Expression.Type.IsString())
{
var columnName = queryBody.GetColumnName(exp.Expression);
sqlBuilder.AppendFormat("{0}", queryBody.DbAdapter.FunctionMapper(exp.Member.Name, columnName));
}
else if (DbConstants.ENreplacedY_INTERFACE_TYPE.IsImplementType(exp.Expression.Type))
{
//多表连接解析列信息,如:m.T1.Id
var columnName = queryBody.GetColumnName(exp);
sqlBuilder.Append(columnName);
}
break;
}
//针对简写方式的布尔类型解析 m => m.Deleted
if (exp == fullLambda.Body && exp.NodeType == ExpressionType.MemberAccess && exp.Type == typeof(bool))
{
sqlBuilder.Append(" = ");
AppendValue(queryBody, queryBody.DbAdapter.BooleanTrueValue, sqlBuilder, parameters);
}
}
}
19
Source : ExpressionResolver.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private static void ResolveMemberInit(QueryBody queryBody, Expression exp, LambdaExpression fullLambda, StringBuilder sqlBuilder, IQueryParameters parameters)
{
if (exp == null || !(exp is MemberInitExpression initExp) || !initExp.Bindings.Any())
return;
for (var i = 0; i < initExp.Bindings.Count; i++)
{
if (initExp.Bindings[i] is Memberreplacedignment replacedignment)
{
var descriptor = queryBody.Joins.First(m => m.EnreplacedyDescriptor.EnreplacedyType == initExp.Type);
var col = descriptor.EnreplacedyDescriptor.Columns.FirstOrDefault(m => m.PropertyInfo.Name.Equals(replacedignment.Member.Name));
if (col != null)
{
if (queryBody.Joins.Count < 2)
sqlBuilder.Append(queryBody.DbAdapter.AppendQuote(col.Name));
else
sqlBuilder.Append($"{queryBody.DbAdapter.AppendQuote(descriptor.Alias)}.{queryBody.DbAdapter.AppendQuote(col.Name)}");
sqlBuilder.Append(" = ");
Resolve(queryBody, replacedignment.Expression, fullLambda, sqlBuilder, parameters);
if (i < initExp.Bindings.Count - 1)
sqlBuilder.Append(",");
}
}
}
}
19
Source : QueryableSqlBuilder.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
public string BuildListSql(IQueryParameters parameters)
{
var sqlBuilder = new StringBuilder();
sqlBuilder.Append("SELECT ");
ResolveSelect(sqlBuilder);
sqlBuilder.Append(" FROM ");
ExpressionResolver.ResolveFrom(_queryBody, sqlBuilder, parameters);
sqlBuilder.Append(" ");
ExpressionResolver.ResolveWhere(_queryBody, sqlBuilder, parameters);
ResolveSort(sqlBuilder);
return sqlBuilder.ToString();
}
19
Source : QueryableSqlBuilder.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
public string BuildFunctionSql(IQueryParameters parameters)
{
var sqlBuilder = new StringBuilder();
sqlBuilder.Append("SELECT ");
Expression memberExp;
if (_queryBody.Select.FunctionExpression.Body.NodeType == ExpressionType.Convert)
{
memberExp = (_queryBody.Select.FunctionExpression.Body as UnaryExpression)!.Operand;
}
else
{
memberExp = _queryBody.Select.FunctionExpression.Body;
}
var columnName = _queryBody.GetColumnName(memberExp);
sqlBuilder.Append(_dbAdapter.FunctionMapper(_queryBody.Select.FunctionName, columnName));
sqlBuilder.Append(" FROM ");
ExpressionResolver.ResolveFrom(_queryBody, sqlBuilder, parameters);
sqlBuilder.Append(" ");
ExpressionResolver.ResolveWhere(_queryBody, sqlBuilder, parameters);
return sqlBuilder.ToString();
}
19
Source : ExpressionResolver.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
private static void ResolveMethodForContains(QueryBody queryBody, MethodCallExpression exp, StringBuilder sqlBuilder, IQueryParameters parameters)
{
if (exp.Object is MemberExpression objExp)
{
#region ==字符串类型的Contains方法==
if (objExp.Type.IsString())
{
sqlBuilder.Append(queryBody.GetColumnName(objExp));
string value;
if (exp.Arguments[0] is ConstantExpression c)
{
value = c.Value!.ToString();
}
else
{
value = ResolveDynamicInvoke(exp.Arguments[0]).ToString();
}
sqlBuilder.Append(" LIKE ");
AppendValue(queryBody, $"%{value}%", sqlBuilder, parameters);
return;
}
#endregion
if (objExp.Type.IsGenericType)
{
var columnName = queryBody.GetColumnName(exp.Arguments[0]);
ResolveInForGeneric(sqlBuilder, columnName, objExp, (exp.Arguments[0] as MemberExpression)!.Type);
}
return;
}
#region ==数组、泛型类型的Contains方法==
if (exp.Arguments[1] is MemberExpression argExp1)
{
var columnName = queryBody.GetColumnName(argExp1);
ResolveInForGeneric(sqlBuilder, columnName, exp.Arguments[0], argExp1.Type);
}
#endregion
}
19
Source : QueryableSqlBuilder.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
public void ResolveSelectForEnreplacedy(StringBuilder sqlBuilder, int index = 0, List<IColumnDescriptor> excludeColumns = null)
{
var join = _queryBody.Joins[index];
foreach (var col in join.EnreplacedyDescriptor.Columns)
{
if (excludeColumns != null && excludeColumns.Any(m => m == col))
continue;
//单个实体时不需要别名
sqlBuilder.Append(IsSingleEnreplacedy ? $"{_dbAdapter.AppendQuote(col.Name)}" : $"{join.Alias}.{_dbAdapter.AppendQuote(col.Name)}");
sqlBuilder.AppendFormat(" AS {0},", _dbAdapter.AppendQuote(col.PropertyInfo.Name));
}
}
19
Source : QueryableSqlBuilder.cs
with MIT License
from 17MKH
with MIT License
from 17MKH
public void ResolveSort(StringBuilder sqlBuilder)
{
if (_queryBody.Sorts.IsNullOrEmpty())
return;
var startLength = sqlBuilder.Length;
sqlBuilder.Append(" ORDER BY");
foreach (var sort in _queryBody.Sorts)
{
if (sort.Mode == QuerySortMode.Lambda)
{
ResolveSort(sqlBuilder, sort.Lambda.Body, sort.Lambda, sort.Type);
}
else
{
sqlBuilder.AppendFormat(" {0} {1},", sort.Sql, sort.Type == SortType.Asc ? "ASC" : "DESC");
}
}
if (startLength + 9 == sqlBuilder.Length)
{
sqlBuilder.Remove(sqlBuilder.Length - 9, 9);
}
else if (startLength + 9 < sqlBuilder.Length)
{
sqlBuilder.Remove(sqlBuilder.Length - 1, 1);
}
}
19
Source : RouteGenerator.cs
with MIT License
from 188867052
with MIT License
from 188867052
private static StringBuilder GenerateClreplaced(IGrouping<string, RouteInfo> group, bool isLast)
{
string clreplacedFullName = $"{group.First().Namespace}.{group.First().ControllerName}Controller";
string crefNamespace = GetCrefNamespace(clreplacedFullName, GetConvertedNamespace(group.First().Namespace));
StringBuilder sb = new StringBuilder();
sb.AppendLine($" /// <summary>");
sb.AppendLine($" /// <see cref=\"{crefNamespace}\"/>");
sb.AppendLine($" /// </summary>");
sb.AppendLine($" public clreplaced {group.Key}Route");
sb.AppendLine(" {");
for (int i = 0; i < group.Count(); i++)
{
var item = group.ElementAt(i);
var renamedAction = RenameOverloadedAction(group, i);
sb.AppendLine(" /// <summary>");
sb.AppendLine($" /// <see cref=\"{crefNamespace}.{item.ActionName}\"/>");
sb.AppendLine(" /// </summary>");
sb.AppendLine($" public const string {renamedAction} = \"{item.Path}\";");
if (config != null && config.GenerateMethod)
{
sb.AppendLine($" public static async Task<T> {item.ActionName}Async<T>({GeneraParameters(item.Parameters, true, false)})");
sb.AppendLine(" {");
sb.AppendLine($" var routeInfo = new {nameof(RouteInfo)}");
sb.AppendLine(" {");
sb.AppendLine($" {nameof(RouteInfo.HttpMethods)} = \"{item.HttpMethods}\",");
sb.AppendLine($" {nameof(RouteInfo.Path)} = {renamedAction},");
sb.Append(GenerateParameters(item.Parameters));
sb.AppendLine(" };");
sb.AppendLine($" return await {nameof(HttpClientAsync)}.{nameof(HttpClientAsync.Async)}<T>(routeInfo{GeneraParameters(item.Parameters, false, true)});");
sb.AppendLine(" }");
}
if (i != group.Count() - 1)
{
sb.AppendLine();
}
}
sb.AppendLine(" }");
if (!isLast)
{
sb.AppendLine();
}
return sb;
}
19
Source : MapSchemaStringBuilder.cs
with MIT License
from 1996v
with MIT License
from 1996v
public void AppendRouteToken(long position, BssMapRouteToken value)
{
sb.Append($"[{position.ToString()}]");
sb.Append(value.ToString());
sb.Append(" ");
}
19
Source : MapSchemaStringBuilder.cs
with MIT License
from 1996v
with MIT License
from 1996v
public void AppendNextOff(long position, ushort value)
{
sb.Append($"[{position.ToString()}]");
sb.Append("NextOff(" + value.ToString() + ")");
sb.Append(" ");
}
See More Examples