Initial commit
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
using AutoBet.ApiGenerator.Extensions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace AutoBet.ApiGenerator
|
||||
{
|
||||
public static class CSharpClassBuilder
|
||||
{
|
||||
public static void Summary(StringBuilder sb, string summary, bool isClassSummary = false)
|
||||
{
|
||||
var indentSpaces = isClassSummary ? 4 : 8;
|
||||
if (!String.IsNullOrWhiteSpace(summary))
|
||||
{
|
||||
sb.AppendWithIndent(indentSpaces, "/// <summary>\r\n");
|
||||
|
||||
var descriptionLines = summary.Trim().TrimEnd('\n').Replace("\r", "").Split('\n');
|
||||
foreach (var line in descriptionLines)
|
||||
{
|
||||
sb.AppendWithIndent(indentSpaces, "/// ");
|
||||
sb.Append(line.Trim());
|
||||
sb.AppendLine();
|
||||
}
|
||||
sb.AppendWithIndent(indentSpaces, "/// </summary>\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
public static void ClassFooter(StringBuilder sb)
|
||||
{
|
||||
sb.AppendWithIndent(4, "}");
|
||||
sb.AppendLine();
|
||||
}
|
||||
|
||||
public static void ClassHeader(StringBuilder sb, string name)
|
||||
{
|
||||
sb.AppendWithIndent(4, "public class ");
|
||||
sb.Append(name);
|
||||
sb.AppendLine();
|
||||
sb.AppendWithIndent(4, "{");
|
||||
sb.AppendLine();
|
||||
}
|
||||
|
||||
public static void EnumHeader(StringBuilder sb, string name)
|
||||
{
|
||||
sb.AppendWithIndent(4, "public enum ");
|
||||
sb.Append(name);
|
||||
sb.AppendLine();
|
||||
sb.AppendWithIndent(4, "{");
|
||||
sb.AppendLine();
|
||||
}
|
||||
|
||||
public static void UsingHeader(StringBuilder sb, string namespaceValue, params string[] usings)
|
||||
{
|
||||
sb.AppendLine("using System;");
|
||||
foreach (var value in usings)
|
||||
{
|
||||
sb.AppendFormat("using {0};", value);
|
||||
sb.AppendLine();
|
||||
}
|
||||
|
||||
sb.AppendLine();
|
||||
sb.Append("namespace ");
|
||||
sb.Append(namespaceValue);
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("{");
|
||||
}
|
||||
|
||||
public static void UsingFooter(StringBuilder sb)
|
||||
{
|
||||
sb.Append("}");
|
||||
}
|
||||
|
||||
public static string GetDataType(string responseType)
|
||||
{
|
||||
if (responseType.StartsWith("list("))
|
||||
{
|
||||
return GetCSharpType(responseType.Substring(5, responseType.Length - 6)) + "[]";
|
||||
}
|
||||
|
||||
if (responseType.StartsWith("set("))
|
||||
{
|
||||
return GetCSharpType(responseType.Substring(4, responseType.Length - 5)) + "[]";
|
||||
}
|
||||
|
||||
return GetCSharpType(responseType);
|
||||
}
|
||||
|
||||
private static string GetCSharpType(string responseType)
|
||||
{
|
||||
switch (responseType)
|
||||
{
|
||||
case "i64":
|
||||
return "long";
|
||||
case "i32":
|
||||
return "int";
|
||||
case "dateTime":
|
||||
return "DateTime";
|
||||
default:
|
||||
return responseType;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user