using System;
using System.Collections.Generic;
using System.Text;
using YiSha.Util.Extension;
namespace YiSha.CodeGenerator
{
public class TableMappingHelper
{
///
/// UserService转成userService
///
///
///
public static string FirstLetterLowercase(string instanceName)
{
instanceName = instanceName.ParseToString();
if (!instanceName.IsEmpty())
{
StringBuilder sb = new StringBuilder();
sb.Append(instanceName[0].ToString().ToLower() + instanceName.Substring(1));
return sb.ToString();
}
else
{
return instanceName;
}
}
///
/// sys_menu_authorize变成MenuAuthorize
///
public static string GetClassNamePrefix(string tableName)
{
string[] arr = tableName.Split('_');
StringBuilder sb = new StringBuilder();
for (int i = 1; i < arr.Length; i++)
{
sb.Append(arr[i][0].ToString().ToUpper() + arr[i].Substring(1));
}
return sb.ToString();
}
public static string GetPropertyDatatype(string sDatatype)
{
string sTempDatatype = string.Empty;
sDatatype = sDatatype.ToLower();
switch (sDatatype)
{
case "int":
case "number":
case "integer":
case "smallint":
sTempDatatype = "int?";
break;
case "bigint":
sTempDatatype = "long?";
break;
case "tinyint":
sTempDatatype = "byte?";
break;
case "numeric":
case "real":
sTempDatatype = "Single?";
break;
case "float":
sTempDatatype = "float?";
break;
case "decimal":
case "numer(8,2)":
sTempDatatype = "decimal?";
break;
case "bit":
sTempDatatype = "bool?";
break;
case "date":
case "datetime":
case "datetime2":
case "smalldatetime":
sTempDatatype = "DateTime?";
break;
case "money":
case "smallmoney":
sTempDatatype = "double?";
break;
case "char":
case "varchar":
case "nvarchar2":
case "text":
case "nchar":
case "nvarchar":
case "ntext":
default:
sTempDatatype = "string";
break;
}
return sTempDatatype;
}
}
}