本文整理汇总了C#中CodeWriter.WriteLineFormat方法的典型用法代码示例。如果您正苦于以下问题:C# CodeWriter.WriteLineFormat方法的具体用法?C# CodeWriter.WriteLineFormat怎么用?C# CodeWriter.WriteLineFormat使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CodeWriter
的用法示例。
在下文中一共展示了CodeWriter.WriteLineFormat方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateClass
public override string GenerateClass(Schema schema)
{
CodeWriter writer = new CodeWriter();
string className = "DataStore";
writer.WriteLine(USING_STRING);
writer.WriteLine();
writer.WriteLine("namespace DataAccess");
writer.WriteLine("{");
writer.PushIdent();
writer.WriteLineFormat("public class {0}: DatabaseContext, IDataStore", className);
writer.WriteLine("{");
writer.PushIdent();
writer.WriteLineFormat("public {0}(IDbConnection connection, IDbTransaction transaction) : base(connection, transaction) {{ }}", className);
writer.WriteLineFormat("public {0}(IDbConnection connection) : base(connection, null) {{ }}", className);
writer.WriteLine();
foreach (StoredProcedure sp in schema.StoredProcedures)
{
string methodHeader = "public " + generateMethodHeader(sp);
string methodBody = GenerateMethodBody(sp);
writer.WriteLine(methodHeader);
writer.WriteLine(methodBody);
writer.WriteLine();
}
writer.PopIdent();
writer.WriteLine("}");
writer.PopIdent();
writer.WriteLine("}");
return writer.Code;
}
示例2: GenerateClass
public string GenerateClass(Service service, Interface intr)
{
CodeWriter writer = new CodeWriter();
writer.WriteLine(HEADER);
writer.WriteLineFormat("package {0}", service.Name);
writer.WriteLine("{");
writer.PushIdent();
writer.WriteLine(IMPORT);
writer.WriteLine();
writer.WriteLineFormat("public class {0}Client", intr.Name);
writer.WriteLine("{");
writer.PushIdent();
writer.WriteLine("public var url: String = \"\";");
writer.WriteLine(LOAD);
writer.WriteLine();
foreach(Method method in intr.Methods)
{
writer.WriteLine(GenerateMethodHeader(intr, method));
writer.WriteLine("{");
writer.PushIdent();
writer.WriteLine(GenerateMethodBody(intr, method));
writer.PopIdent();
writer.WriteLine("}");
writer.WriteLine();
}
writer.PopIdent();
writer.WriteLine("}");
writer.PopIdent();
writer.WriteLine("}");
return writer.Code;
}
示例3: GenerateDropIfExists
private string GenerateDropIfExists(string spName)
{
CodeWriter writer = new CodeWriter();
writer.WriteLineFormat("IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{0}') AND type in (N'P', N'PC'))", spName);
writer.PushIdent();
writer.WriteLineFormat("DROP PROCEDURE {0};", spName);
writer.PopIdent();
writer.WriteLine("GO");
return writer.Code;
}
示例4: GenerateSqlCreate
public override string GenerateSqlCreate(Table table)
{
CodeWriter writer = new CodeWriter();
writer.WriteLineFormat("create table [{0}].[{1}](", table.Schema.Name, table.Name);
writer.PushIdent();
int colCount = table.Columns.Count;
int conCount = table.Constraints.Count;
for (int i = 0; i < colCount; i++)
{
Column col = table.Columns[i];
DataType dt = TypeMap == null ? col.DataType : TypeMap.MapDataType(col.DataType);
string nullDef = col.IsNullable? "null": "not null";
string autoIncrementDef = col.IsAutoIncremented ? "identity(1, 1)" : "";
string colDef = string.Format("[{0}] {1} {2} {3}", col.Name, dt.FullName, nullDef, autoIncrementDef).Trim();
string comma = (i < colCount - 1 || conCount > 0) ? "," : "";
writer.WriteLineFormat("{0}{1}", colDef, comma);
}
for (int i = 0; i < conCount; i++)
{
TableConstraint con = table.Constraints[i];
string conDef = null;
if (con.Type == ConstraintType.PrimaryKey)
{
string colDef = StringUtils.GenerateCommaSeparatedString(con.Columns, "[", "]");
conDef = string.Format("constraint [{0}] primary key({1})", con.Name, colDef);
}
else if (con.Type == ConstraintType.Unique)
{
string colDef = StringUtils.GenerateCommaSeparatedString(con.Columns, "[", "]");
conDef = string.Format("constraint [{0}] unique({1})", con.Name, colDef);
}
else if (con.Type == ConstraintType.Check)
{
CheckConstraint chk = (CheckConstraint)con;
conDef = string.Format("constraint [{0}] check {1}", chk.Name, chk.Clause);
}
else if (con.Type == ConstraintType.ForeignKey)
{
ForeignKeyConstraint fk = (ForeignKeyConstraint)con;
string colDef = StringUtils.GenerateCommaSeparatedString(fk.Columns, "[", "]");
string refColDef = StringUtils.GenerateCommaSeparatedString(fk.ReferencedColumns, "[", "]");
conDef = string.Format("constraint [{0}] foreign key({1}) references [{2}].[{3}]({4}) on update {5} on delete {6}",
fk.Name, colDef, con.Table.Schema.Name, fk.ReferencedTable, refColDef, fk.UpdateRule, fk.DeleteRule);
}
string comma = i < conCount - 1 ? "," : "";
writer.WriteLineFormat("{0}{1}", conDef, comma);
}
writer.PopIdent();
writer.Write(")");
return writer.Code;
}
示例5: GenerateSqlCreate
public override string GenerateSqlCreate(Table table)
{
CodeWriter writer = new CodeWriter();
writer.WriteLine("DELIMITER $$");
writer.WriteLineFormat("create table `{0}`.`{1}`(", table.Schema.Name, table.Name);
writer.PushIdent();
int colCount = table.Columns.Count;
int conCount = table.Constraints.Where(c => c.Type != ConstraintType.Check).Count();
for (int i = 0; i < colCount; i++)
{
Column col = table.Columns[i];
DataType dt = TypeMap == null ? col.DataType : TypeMap.MapDataType(col.DataType);
string nullDef = col.IsNullable? "null": "not null";
string autoIncrementDef = col.IsAutoIncremented ? "auto_increment" : "";
string colDef = string.Format("`{0}` {1} {2} {3}", col.Name, dt.FullName, nullDef, autoIncrementDef).Trim();
string comma = (i < colCount - 1 || conCount > 0) ? "," : "";
writer.WriteLineFormat("{0}{1}", colDef, comma);
}
for (int i = 0; i < conCount; i++)
{
TableConstraint con = table.Constraints[i];
string conDef = null;
if (con.Type == ConstraintType.PrimaryKey)
{
string colDef = StringUtils.GenerateCommaSeparatedString(con.Columns, "`", "`");
conDef = string.Format("constraint `{0}` primary key({1})", con.Name, colDef);
}
else if (con.Type == ConstraintType.Unique)
{
string colDef = StringUtils.GenerateCommaSeparatedString(con.Columns, "`", "`");
conDef = string.Format("constraint `{0}` unique({1})", con.Name, colDef);
}
else if (con.Type == ConstraintType.ForeignKey)
{
ForeignKeyConstraint fk = (ForeignKeyConstraint)con;
string colDef = StringUtils.GenerateCommaSeparatedString(fk.Columns, "`", "`");
string refColDef = StringUtils.GenerateCommaSeparatedString(fk.ReferencedColumns, "`", "`");
conDef = string.Format("constraint `{0}` foreign key({1}) references `{2}`.`{3}`({4}) on update {5} on delete {6}",
fk.Name, colDef, con.Table.Schema.Name, fk.ReferencedTable, refColDef, fk.UpdateRule, fk.DeleteRule);
}
string comma = i < conCount - 1 ? "," : "";
writer.WriteLineFormat("{0}{1}", conDef, comma);
}
writer.PopIdent();
writer.Write(")$$");
return writer.Code;
}
示例6: generateInsertBody
private string generateInsertBody(Table table, List<Column> insertableColumns)
{
List<string> colNames = new List<string>();
foreach (Column col in insertableColumns)
{
colNames.Add(col.Name);
}
CodeWriter writer = new CodeWriter();
writer.WriteLineFormat("INSERT INTO [{0}].[{1}]", table.Schema.Name, table.Name);
writer.WriteLineFormat("({0})", StringUtils.GenerateCommaSeparatedString(colNames, "[", "]"));
writer.WriteLine("VALUES");
writer.WriteLineFormat("({0});", StringUtils.GenerateCommaSeparatedString(colNames, "@", ""));
writer.WriteLine("RETURN SCOPE_IDENTITY();");
return writer.Code;
}
示例7: generateUpdateBody
private string generateUpdateBody(Table table, List<Column> keyColumns, List<Column> updateColumns)
{
CodeWriter writer = new CodeWriter();
writer.WriteLineFormat("UPDATE [{0}].[{1}]", table.Schema.Name, table.Name);
writer.WriteLine("SET");
writer.PushIdent();
for (int i = 0; i < updateColumns.Count; i++)
{
Column column = updateColumns[i];
string and = i < updateColumns.Count - 1 ? "," : "";
string cond = string.Format("[{0}] = @{0} {1}", column.Name, and).Trim();
writer.WriteLine(cond);
}
writer.PopIdent();
writer.WriteLine("WHERE");
writer.PushIdent();
for (int i = 0; i < keyColumns.Count; i++)
{
Column column = keyColumns[i];
string and = i < keyColumns.Count - 1 ? "AND" : "";
string cond = string.Format("[{0}] = @{0} {1}", column.Name, and).Trim();
writer.WriteLine(cond);
}
writer.PopIdent();
return writer.Code;
}
示例8: Generate
public override string Generate(Schema schema)
{
CodeWriter writer = new CodeWriter();
foreach (Table table in schema.Tables)
{
writer.WriteLineFormat("-- {0} --", table.Name);
writer.WriteLine(GenerateInsert(table));
writer.WriteLineFormat("GO");
writer.WriteLine(GenerateUpdate(table));
writer.WriteLine(GenerateDelete(table));
writer.WriteLine(GenerateGetAll(table));
writer.WriteLine("GO");
writer.WriteLine(GenerateGet(table));
writer.WriteLine();
}
return writer.Code;
}
示例9: GenerateTables
public override string GenerateTables(Schema schema)
{
CodeWriter writer = new CodeWriter();
foreach(Table table in schema.Tables)
{
writer.WriteLineFormat("-- {0} --", table.Name);
writer.WriteLine(GenerateSqlCreate(table));
writer.WriteLine();
}
return writer.Code;
}
示例10: GenerateStoredProcedures
public override string GenerateStoredProcedures(Schema schema)
{
CodeWriter writer = new CodeWriter();
foreach (StoredProcedure sp in schema.StoredProcedures)
{
writer.WriteLineFormat("-- {0} --", sp.Name);
sp.Definition = DUMMY_BODY;
writer.WriteLine(GenerateStoredProcedureCreate(sp));
writer.WriteLine();
}
return writer.Code;
}
示例11: Generate
public IDictionary<string, string> Generate(Service service)
{
IDictionary<string, string> files = new Dictionary<string, string>();
CodeWriter writer = new CodeWriter();
writer.WriteLineFormat("angular.module(\"{0}\", [])", service.Name);
writer.PushIdent();
writer.WriteLine(".constant('serviceUrl', 'http://localhost:8800/Server/handler.ashx')");
writer.WriteLine();
foreach (Interface intr in service.Interfaces)
{
string code = GenerateInterface(service, intr);
writer.WriteLine(code);
}
string fileName = service.Name + ".js";
files[fileName] = writer.Code;
return files;
}
示例12: GenerateInsert
public override string GenerateInsert(Table table)
{
CodeWriter writer = new CodeWriter();
StoredProcedure sp = new StoredProcedure();
sp.Schema = table.Schema;
sp.Name = string.Format("HXF_{0}_INSERT", table.Name);
IEnumerable<Column> insertableColumns = table.Columns.Where<Column>(c => !(c.IsComputed || c.IsAutoIncremented));
List<Parameter> parameters = new List<Parameter>();
int i = 0;
foreach (Column col in insertableColumns)
{
Parameter p = new Parameter();
p.Name = "@" + col.Name;
p.Position = i++;
p.DataType = col.DataType.Clone();
p.Mode = "IN";
parameters.Add(p);
}
sp.Parameters = parameters;
sp.Definition = generateInsertBody(table, insertableColumns.ToList<Column>());
string s = new SqlServerDatabaseGenerator(TypeMap).GenerateStoredProcedureCreate(sp).Trim();
writer.WriteLineFormat("-- {0} --", sp.Name);
writer.WriteLine(GenerateDropIfExists(sp.Name));
writer.WriteLine();
writer.WriteLineFormat(s);
return writer.Code;
}
示例13: GenerateUpdate
public override string GenerateUpdate(Table table)
{
CodeWriter writer = new CodeWriter();
foreach (TableConstraint constraint in table.Constraints)
{
if (constraint.Type == ConstraintType.PrimaryKey || constraint.Type == ConstraintType.Unique)
{
StoredProcedure sp = new StoredProcedure();
sp.Parameters = new List<Parameter>();
sp.Schema = table.Schema;
List<string> colNames = constraint.Columns;
string sepStrings = StringUtils.GenerateSeparatedString(colNames, "_AND_", "", "");
sp.Name = string.Format("HXF_{0}_UPDATE_BY_{1}", table.Name, sepStrings);
// columns that are part of key constraint is used in where clause
IEnumerable<Column> keyColumns = table.Columns.Where<Column>(c => colNames.Contains(c.Name));
// columns that can be updated
IEnumerable<Column> updatableColumns = table.Columns.Where<Column>(c => !(c.IsComputed || c.IsAutoIncremented));
// columns that will be part of update statement
IEnumerable<Column> updateColumns = updatableColumns.Except(keyColumns);
if (updateColumns.Count() > 0)
{
string body = generateUpdateBody(table, keyColumns.ToList<Column>(), updateColumns.ToList<Column>());
// create parameters for columns used in the stored procedure
foreach (Column column in keyColumns.Union(updatableColumns))
{
Parameter p = new Parameter();
p.StoredProcedure = sp;
p.Name = "@" + column.Name;
//p.Direction = ParameterDirection.In;
p.Mode = "IN";
p.DataType = TypeMap != null ? TypeMap.MapDataType(column.DataType) : column.DataType;
sp.Parameters.Add(p);
sp.Definition = body;
}
SqlServerDatabaseGenerator gen = new SqlServerDatabaseGenerator(TypeMap);
string s = gen.GenerateStoredProcedureCreate(sp).Trim();
writer.WriteLineFormat("-- {0} --", sp.Name);
writer.WriteLine(GenerateDropIfExists(sp.Name));
writer.WriteLine();
writer.WriteLine(s);
writer.WriteLine("GO");
writer.WriteLine();
}
}
}
return writer.Code;
}
示例14: GenerateStoredProcedureCreate
public override string GenerateStoredProcedureCreate(StoredProcedure storedProcedure)
{
CodeWriter writer = new CodeWriter();
writer.WriteLineFormat("CREATE PROCEDURE [{0}].[{1}]", storedProcedure.Schema.Name, storedProcedure.Name);
int paramCount = storedProcedure.Parameters.Count;
if (paramCount > 0)
{
writer.WriteLine("(");
}
writer.PushIdent();
for (int i = 0; i < paramCount; i++)
{
Parameter parameter = storedProcedure.Parameters[i];
DataType dt = TypeMap == null ? parameter.DataType : TypeMap.MapDataType(parameter.DataType);
string modeDef = parameter.Mode == "OUT" ? parameter.Mode : "";
string paramName = parameter.Name.StartsWith("@") ? parameter.Name : "@" + parameter.Name;
string pDef = string.Format("{0} {1} {2}", paramName, dt.FullName, modeDef).Trim();
string comma = i < paramCount - 1 ? "," : "";
writer.WriteLineFormat("{0}{1}", pDef, comma);
}
writer.PopIdent();
if (paramCount > 0)
{
writer.WriteLine(")");
}
writer.WriteLine("as");
writer.WriteLine("begin");
writer.PushIdent();
writer.WriteLine(storedProcedure.Definition);
writer.PopIdent();
writer.Write("end");
return writer.Code;
}
示例15: GenerateMethodBody
public string GenerateMethodBody(Interface intr, Method method)
{
CodeWriter writer = new CodeWriter();
writer.WriteLine("var o: Object = new Object();");
writer.WriteLine("var p: Object = new Object();");
writer.WriteLineFormat("o[\"interface\"] = \"{0}\"", intr.Name);
writer.WriteLineFormat("o[\"method\"] = \"{0}\"", method.Name);
foreach (Parameter p in method.Parameters)
{
writer.WriteLineFormat("p[\"{0}\"]={0};", p.Name);
}
writer.WriteLine("o[\"parameters\"] = p;");
writer.WriteLine("var data: String = JSON.stringify(o);");
writer.WriteLine("load(data, completeFunction);");
return writer.Code;
}