You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

157 lines
5.2 KiB
C#

using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.IO;
using System.Net;
using System.Xml;
using BP.DA;
using BP.En;
using Microsoft.CSharp;
namespace BP.Sys
{
/// <summary>
/// 用户自定义表
/// </summary>
public class SFTableSQL : EntityNoName
{
#region 构造方法
public override UAC HisUAC
{
get
{
UAC uac = new UAC();
uac.OpenForSysAdmin();
uac.IsInsert = false;
return uac;
}
}
/// <summary>
/// 用户自定义表
/// </summary>
public SFTableSQL()
{
}
/// <summary>
/// EnMap
/// </summary>
public override Map EnMap
{
get
{
if (this._enMap != null)
return this._enMap;
Map map = new Map("Sys_SFTable", "字典表SQL");
map.AddTBStringPK(SFTableAttr.No, null, "表英文名称", true, false, 1, 200, 20);
map.AddTBString(SFTableAttr.Name, null, "表中文名称", true, false, 0, 200, 20);
map.AddDDLSysEnum(SFTableAttr.CodeStruct, 0, "字典表类型", true, false, SFTableAttr.CodeStruct);
map.AddDDLStringEnum(SFTableAttr.DictSrcType, "SQL", "数据表类型", SFTableAttr.DictSrcType, false);
map.AddTBString(SFTableAttr.FK_Val, null, "默认创建的字段名", true, false, 0, 200, 20);
map.AddTBString(SFTableAttr.TableDesc, null, "表描述", true, false, 0, 200, 20);
map.AddTBString(SFTableAttr.DefVal, null, "默认值", true, false, 0, 200, 20);
//数据源.
map.AddDDLEntities(SFTableAttr.FK_SFDBSrc, "local", "数据源", new BP.Sys.SFDBSrcs(), true);
//map.AddTBString(SFTableAttr.ColumnValue, null, "显示的值(编号列)", true, false, 0, 200, 20);
//map.AddTBString(SFTableAttr.ColumnText, null, "显示的文字(名称列)", true, false, 0, 200, 20);
map.AddTBString(SFTableAttr.ParentValue, null, "Root节点的值(对树结构有效)", true, false, 0, 200, 20);
map.AddTBStringDoc(SFTableAttr.SelectStatement, null, "查询语句", true, false);
map.AddTBDateTime(SFTableAttr.RDT, null, "加入日期", false, false);
RefMethod rm = new RefMethod();
rm.Title = "查看数据";
rm.ClassMethodName = this.ToString() + ".DoEdit";
rm.RefMethodType = RefMethodType.RightFrameOpen;
rm.ItIsForEns = false;
map.AddRefMethod(rm);
this._enMap = map;
return this._enMap;
}
}
#endregion
/// <summary>
/// 编辑数据
/// </summary>
/// <returns></returns>
public string DoEdit()
{
return "../../Admin/FoolFormDesigner/SFTableEditData.htm?FK_SFTable=" + this.No + "&&QueryType=Sql";
}
/// <summary>
/// 删除之前要做的工作
/// </summary>
/// <returns></returns>
protected override bool beforeDelete()
{
MapAttrs mattrs = new MapAttrs();
mattrs.Retrieve(MapAttrAttr.UIBindKey, this.No);
if (mattrs.Count != 0)
{
string err = "";
foreach (MapAttr item in mattrs)
err += " @ " + item.MyPK + " " + item.Name;
throw new Exception("@如下实体字段在引用:" + err + "。您不能删除该表。");
}
return base.beforeDelete();
}
}
/// <summary>
/// 用户自定义表s
/// </summary>
public class SFTableSQLs : EntitiesNoName
{
#region 构造
/// <summary>
/// 用户自定义表s
/// </summary>
public SFTableSQLs()
{
}
/// <summary>
/// 得到它的 Entity
/// </summary>
public override Entity GetNewEntity
{
get
{
return new SFTableSQL();
}
}
#endregion
#region 为了适应自动翻译成java的需要,把实体转换成List.
/// <summary>
/// 转化成 java list,C#不能调用.
/// </summary>
/// <returns>List</returns>
public System.Collections.Generic.IList<SFTableSQL> ToJavaList()
{
return (System.Collections.Generic.IList<SFTableSQL>)this;
}
/// <summary>
/// 转化成list
/// </summary>
/// <returns>List</returns>
public System.Collections.Generic.List<SFTableSQL> Tolist()
{
System.Collections.Generic.List<SFTableSQL> list = new System.Collections.Generic.List<SFTableSQL>();
for (int i = 0; i < this.Count; i++)
{
list.Add((SFTableSQL)this[i]);
}
return list;
}
#endregion 为了适应自动翻译成java的需要,把实体转换成List.
}
}