通过反射获得巫霜的表字段信息并生成模版代码的工具 - DevCodeUtil
2017-02-11 21:15:26 访问(1383) 赞(0) 踩(0)
/// <summary>
///
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
protected bool DevCodeCreateDetailIsNotShow(string str)
{
if (str == null)
return true;
str = str.Trim().ToLower();
switch (str)
{
case "id":
case "createby":
case "createdate":
case "updateby":
case "updatedate":
case "create_by":
case "create_date":
case "update_by":
case "update_date":
return true;
default:
return false;
}
}
protected eKing.EkVehicleLib.Enums.ValidAction.EmValidAction
DevCodeCreateDetailGetEmValidActionV(DataColumnAttributeInfo da)
{
switch (da.emVarTypeValue)
{
case SlowX.Core.Enums.VarType.EmVarType.DateTime类型:
return eKing.EkVehicleLib.Enums.ValidAction.EmValidAction.日期;
case SlowX.Core.Enums.VarType.EmVarType.DateTimeNull类型:
return eKing.EkVehicleLib.Enums.ValidAction.EmValidAction.日期或空;
case SlowX.Core.Enums.VarType.EmVarType.String类型:
return Enums.ValidAction.EmValidAction.非空;
default:
return Enums.ValidAction.EmValidAction.非空;
}
}
/// <summary>
///
/// </summary>
/// <param name="da"></param>
/// <returns></returns>
protected eKing.EkVehicleLib.Enums.ValidFlag.EmValidFlag
DevCodeCreateDetailGetEmValidFlagV(DataColumnAttributeInfo da)
{
if (!da.AllowDBNull)
{
return Enums.ValidFlag.EmValidFlag.校验;
}
switch (da.emVarTypeValue)
{
case SlowX.Core.Enums.VarType.EmVarType.String类型:
return Enums.ValidFlag.EmValidFlag.不校验;
default:
return Enums.ValidFlag.EmValidFlag.校验;
}
}
/// <summary>
///
/// </summary>
/// <param name="da"></param>
/// <returns></returns>
protected eKing.EkVehicleLib.Enums.EkCtrlStyle.EmEkCtrlStyle
DevCodeCreateDetailGetEmEkCtrlStyleV(DataColumnAttributeInfo da)
{
string str = da.Name.Trim().ToLower();
switch (str)
{
case "remark":
case "remarks":
return Enums.EkCtrlStyle.EmEkCtrlStyle.多行文本;
default:
break;
}
switch (da.emVarTypeValue)
{
case SlowX.Core.Enums.VarType.EmVarType.DateTimeNull类型:
case SlowX.Core.Enums.VarType.EmVarType.DateTime类型:
return Enums.EkCtrlStyle.EmEkCtrlStyle.日期;
default:
return Enums.EkCtrlStyle.EmEkCtrlStyle.文本;
}
}
/// <summary>
///
/// </summary>
/// <param name="da"></param>
/// <returns></returns>
protected eKing.EkVehicleLib.Enums.SaveValueLogic.EmSaveValueLogic
DevCodeCreateDetailGetEmSaveValueLogicV(DataColumnAttributeInfo da)
{
string str = da.Name.Trim().ToLower();
switch (str)
{
case "remark":
case "remarks":
return Enums.SaveValueLogic.EmSaveValueLogic.字符串;
default:
break;
}
switch (da.emVarTypeValue)
{
case SlowX.Core.Enums.VarType.EmVarType.DateTimeNull类型:
case SlowX.Core.Enums.VarType.EmVarType.DateTime类型:
return Enums.SaveValueLogic.EmSaveValueLogic.时间;
default:
return Enums.SaveValueLogic.EmSaveValueLogic.字符串Trim;
}
}
/// <summary>
///
/// </summary>
/// <param name="da"></param>
/// <returns></returns>
protected eKing.EkVehicleLib.Enums.SetValueLogic.EmSetValueLogic
DevCodeCreateDetailGetEmSetValueLogicV(DataColumnAttributeInfo da)
{
string str = da.Name.Trim().ToLower();
switch (da.emVarTypeValue)
{
case SlowX.Core.Enums.VarType.EmVarType.DateTimeNull类型:
case SlowX.Core.Enums.VarType.EmVarType.DateTime类型:
return Enums.SetValueLogic.EmSetValueLogic.日期;
default:
return Enums.SetValueLogic.EmSetValueLogic.字符串;
}
}
/// <summary>
///
/// </summary>
/// <param name="bll"></param>
/// <returns></returns>
public string DevCodeCreateDetail
(
BaseBusiness bll
)
{
StringBuilder theResult = new StringBuilder();
BaseTableAttribute tb = bll.Entity.GetBaseTableAttribute();
bool isFirst = true;
foreach (DataColumnAttributeInfo da in tb.listDataColumnAttributeInfoValue)
{
if (da.IsPrimaryKey)
continue;
if(DevCodeCreateDetailIsNotShow(da.Name))
continue;
if (isFirst)
{
theResult.AppendLine("<tr>");
}
eKing.EkVehicleLib.Enums.ValidAction.EmValidAction
emVA
=
DevCodeCreateDetailGetEmValidActionV(da);
eKing.EkVehicleLib.Enums.ValidFlag.EmValidFlag
emVF
=
DevCodeCreateDetailGetEmValidFlagV(da);
eKing.EkVehicleLib.Enums.EkCtrlStyle.EmEkCtrlStyle
emCS
=
DevCodeCreateDetailGetEmEkCtrlStyleV(da);
eKing.EkVehicleLib.Enums.SaveValueLogic.EmSaveValueLogic
emSV
=
DevCodeCreateDetailGetEmSaveValueLogicV(da);
eKing.EkVehicleLib.Enums.SetValueLogic.EmSetValueLogic
emSetV
=
DevCodeCreateDetailGetEmSetValueLogicV(da);
string strAdd = "";
if(emCS == Enums.EkCtrlStyle.EmEkCtrlStyle.多行文本)
{
strAdd = " TextMode=\"MultiLine\"";
}
theResult.AppendLine(
@"<th><%=txt_" + da.Name + @".PrintLabel() %>
</th>
<td>
<ek:EkTextBox ID=""txt_" + da.Name + @""" runat=""server""" + strAdd + @" EmEkCtrlStyleV=""" + emCS.ToString() + @""" LabelName=""" + da.Comment + @""" EmSetValueLogicV=""" + emSetV.ToString() + @""" EmValidActionV=""" + emVA.ToString() + @""" EmSaveValueLogicV=""" + emSV.ToString() + @""" EmValidFlagV=""" + emVF.ToString() + @""" />
</td>"
);
if (!isFirst)
theResult.AppendLine("</tr>");
isFirst = !isFirst;
}
if (!isFirst)
{
theResult.AppendLine("</tr>");
}
return theResult.ToString();
}
/// <summary>
///
/// </summary>
/// <param name="bll"></param>
/// <returns></returns>
public string DevCodeCreateView
(
BaseBusiness bll
)
{
StringBuilder theResult = new StringBuilder();
BaseTableAttribute tb = bll.Entity.GetBaseTableAttribute();
bool isFirst = true;
foreach (DataColumnAttributeInfo da in tb.listDataColumnAttributeInfoValue)
{
if (da.IsPrimaryKey)
continue;
if (DevCodeCreateDetailIsNotShow(da.Name))
continue;
if (isFirst)
{
theResult.AppendLine("<tr>");
}
theResult.AppendLine(
@"<th><%=lt_" + da.Name + @".PrintLabel() %>
</th>
<td>
<ek:EkLiteral ID=""lt_" + da.Name + @""" runat=""server""" + @" LabelName=""" + da.Comment + @""" />
</td>"
);
if (!isFirst)
theResult.AppendLine("</tr>");
isFirst = !isFirst;
}
if (!isFirst)
{
theResult.AppendLine("</tr>");
}
return theResult.ToString();
}
/// <summary>
///
/// </summary>
/// <param name="bll"></param>
/// <returns></returns>
public string DevCodeCreateGrid
(
BaseBusiness bll
)
{
StringBuilder theResult
=
new StringBuilder();
BaseTableAttribute tb
=
bll.Entity.GetBaseTableAttribute();
bool isHidden = false;
foreach (DataColumnAttributeInfo da in tb.listDataColumnAttributeInfoValue)
{
if (da.IsPrimaryKey)
isHidden = true;
else if (da.Name.Trim().ToLower() == "id")
isHidden = true;
else
isHidden = false;
theResult.AppendLine("<ek:EkPqGridColumn Name=\"" + da.Name + "\" Align=\"Center\" HeadText=\"" + da.Comment + "\" Hidden=\"" + isHidden.ToString().ToLower() + "\" />");
}
return @"
<ek:EkPqGrid ID=""EkPqGrid1"" runat=""server"">
<ColModel>
" + theResult.ToString() + @"
</ColModel>
</ek:EkPqGrid>";
}
标签:
通过反射获得巫霜的表字段信息并生成模版代码的工具 - DevCodeUtil 


上一条:
下一条:
相关评论
发表评论