public override object get(string id) { var up = DB.NewDefaultDBUnitParameter<SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'LoginInfo', $where : { LoginID:{0} } }", id)); if (re.QueryTable.RowLength <= 0) { return null; } else { dynamic obj = re.QueryData<FrameDLRObject>()[0]; return new { uid=obj.UID, id = obj.LoginID, name = obj.LoginName, remark = obj.remark }; } }
public override object get(string id) { var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype: 'Query', $table: 'RoleInfo', $where:{ RoleUID:{0} } }", id)); var list = re.QueryData <FrameDLRObject>(); if (list.Any()) { dynamic t = list[0]; return(new { Id = t.RoleUID, Name = t.RoleName, Remark = t.Remark }); } else { return(null); } }
object delete(LogicData arg) { var rtn = FrameDLRObject.CreateInstance(@"{ issuccess:true, msg:'操作成功' }"); var no = ComFunc.nvl(arg["no"]); BeginTrans(); var up = DB.NewDBUnitParameter(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'FunctionInfo', $where : { FunctionNo:{0} } }", no)); if (re.QueryTable.RowLength <= 0) { rtn.issuccess = false; rtn.msg = "待删除的功能不存在"; return(rtn); } up.SetValue("no", no); DB.NonQuery <FunctionUnit>(up, "delete"); CommitTrans(); return(rtn); }
/// <summary> /// 创建Table /// </summary> /// <param name="up"></param> /// <param name="toTable"></param> /// <param name="columns"></param> public virtual void CreateTable(UnitParameter up, string toTable, params TableColumn[] columns) { if (columns == null || columns.Length <= 0) { return; } FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'CreateTable', $table : {0} }", FrameDLRFlags.SensitiveCase, toTable); var pk = new List <object>(); foreach (var c in columns) { FrameDLRObject cobj = FrameDLRObject.CreateInstance(FrameDLRFlags.SensitiveCase); cobj.SetValue("$datatype", c.DataType); cobj.SetValue("$precision", c.Precision); cobj.SetValue("$scale", c.Scale); cobj.SetValue("$default", c.Default); cobj.SetValue("$isnull", c.IsPK ? false : c.AllowNull); if (c.IsPK) { pk.Add(c.Name); } express.SetValue(c.Name, cobj); } express.SetValue("$pk", pk); Excute(up, express); }
public override object get(string no) { var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype: 'Query', $table: 'FunctionInfo', $where:{ FunctionNo:{0} } }", no)); var list = re.QueryData <FrameDLRObject>(); if (list.Count() > 0) { dynamic t = list[0]; return(new { No = t.FunctionNo, Name = t.FunctionName, Level = t.FunctionLevel, Url = t.Url, IsMenu = t.IsMenu, Remark = t.Remark }); } else { return(null); } }
public override bool delete(string id) { var up = DB.NewDefaultDBUnitParameter<SqliteAccess>(); BeginTrans(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'LoginInfo', $where : { LoginID:{0} } }", id)); var uid = re.QueryTable.RowLength > 0 ? ComFunc.nvl(re.QueryTable[0, "UID"]) : ""; DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : 'Map_LoginRole', $where:{ LoginUID:{0} } }", uid)); DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : 'LoginInfo', $where:{ LoginID:{0} } }", id)); CommitTrans(); SetRefreshCacheRoute($"/user/{id}"); return true; }
public new bool delete(string id) { var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); BeginTrans(); DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : 'Map_RoleFunction', $where:{ RoleUID:{0} } }", id)); DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : 'Map_LoginRole', $where:{ RoleUID:{0} } }", id)); DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : 'RoleInfo', $where:{ RoleUID:{0} } }", id)); CommitTrans(); SetRefreshCacheRoute($"/role/{id}", "/role"); return(true); }
public new List<FrameDLRObject> get() { var up = DB.NewDefaultDBUnitParameter<SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'LoginInfo', }")); if (re.QueryTable.RowLength <= 0) { return null; } else { var l = from t in re.QueryData<FrameDLRObject>() select new { uid = t.UID, id = t.LoginID, name = t.LoginName, remark = t.remark }; return l.ToList(); } }
public override bool delete(string no) { var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); BeginTrans(); DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : 'Map_RoleFunction', $where:{ FunctionNo:{0} } }", no)); DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : 'FunctionInfo', $where:{ FunctionNo:{0} } }", no)); CommitTrans(); SetRefreshCacheRoute($"/functions/{no}"); return(true); }
public static void Test() { //JsEngineSwitcher engineSwitcher = JsEngineSwitcher.Instance; //IJsEngine js = null; //engineSwitcher.EngineFactories // .AddEFFCChakraCore(); //engineSwitcher.DefaultEngineName = EFFCChakraCoreJsEngine.EngineName; //js = engineSwitcher.CreateDefaultEngine(); //js.EmbedHostObject("f_p_0", "ych"); //js.EmbedHostObject("f_p_1", 22); //js.Execute($"var js ={{name:f_p_0,age:f_p_1}};"); //var re = js.GetVariableValue("js"); //var fec = FrameExposedObject.From(re.GetType()); //js.Dispose(); var md5 = ComFunc.getMD5_String(ComFunc.getMD5_String("sa").ToLower() + "8128").ToLower(); //var serializer = JsonSerializer.Create(); var json = "{name:'ych',age:22,schools:[{name:'小学',address:''},{name:'中学',address:''}],birth:{0}}"; var dobj = FrameDLRObject.CreateInstanceFromat(json, DateTime.Now); var jarray = "[{name:'小学',address:''},{name:'中学',address:''}]"; var aobj = FrameDLRObject.CreateArray(jarray); Console.WriteLine(dobj.tojsonstring()); }
public object get(dynamic parent_info) { object rtn = null; //该功能不需要缓存 SetCacheEnable(false); if (IsValidBy("缺少参数", () => parent_info != null) && IsValidBy("缺少参数", () => !(parent_info is FrameDLRObject))) { var loginuid = parent_info.uid; var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype: 'Query', 'a.FunctionNo':true, 'a.FunctionName':true, 'a.FunctionLevel':true, 'a.IsMenu':true, 'a.ParentNo':true, 'a.Url':true, $table: { FunctionInfo: 'a', Map_RoleFunction: { $as: 'b', $join: { $by: 'a', $on: { 'b.FunctionNo': '#sql:a.FunctionNo' } } }, Map_LoginRole:{ $as: 'c', $join: { $by: 'b', $on: { 'c.RoleUID': '#sql:b.RoleUID' } } } }, $where: { 'c.LoginUID': {0}, 'a.IsMenu':{1} } }", loginuid, "1")); var list = re.QueryData <FrameDLRObject>(); /*var level0 = from t in list * where t.FunctionLevel == 0 * select new { No = t.FunctionNo, Name = t.FunctionName, Level = t.FunctionLevel, Url = t.Url, IsMenu = t.IsMenu, Sub = BuildFunctionTree(t, list) }; */ rtn = list.ToList(); } return(rtn); }
/// <summary> /// 直接删除Table /// </summary> /// <param name="up"></param> /// <param name="toTable"></param> public virtual void DropTable(UnitParameter up, string toTable) { FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'DropTable', $table : {0} }", FrameDLRFlags.SensitiveCase, toTable); Excute(up, express); }
object map(LogicData arg) { var rtn = FrameDLRObject.CreateInstance(@"{ issuccess:true, msg:'操作成功' }"); var uid = ComFunc.nvl(arg["roleuid"]); var functions = ComFunc.nvl(arg["functions"]); if (uid == "") { rtn.issuccess = false; rtn.msg = "缺少角色参数"; return(rtn); } BeginTrans(); var up = DB.NewDBUnitParameter(); FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'RoleInfo', $where:{ RoleUID:{0} } }", uid); var re = DB.Excute(up, express); if (re.QueryTable.RowLength <= 0) { rtn.issuccess = false; rtn.msg = "角色资料不存在"; return(rtn); } express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : 'Map_RoleFunction', $where:{ RoleUID:{0} } }", uid); DB.Excute(up, express); express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Insert', $table : 'Map_RoleFunction', RoleUID:{0} }", uid); foreach (var s in functions.Split(',')) { express.SetValue("FunctionNo", s); express.SetValue("$acttype", "Insert"); DB.Excute(up, express); } CommitTrans(); return(rtn); }
/// <summary> /// Copy Table /// </summary> /// <param name="up"></param> /// <param name="from_table"></param> /// <param name="to_Table"></param> /// <param name="with_data"></param> /// <param name="is_log">是否记录log</param> public virtual void CopyTable(UnitParameter up, string from_table, string to_Table, bool with_data = false, bool is_log = false) { FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'CopyTable', $table : {0}, $to_table:{1}, $with_data:{2} }", FrameDLRFlags.SensitiveCase, from_table, to_Table, with_data); Excute(up, express, is_log); }
object saveRoleMap(LogicData arg) { var rtn = FrameDLRObject.CreateInstance(@"{ issuccess:true, msg:'操作成功' }"); var uid = ComFunc.nvl(arg["uid"]); var roles = ComFunc.nvl(arg["roles"]); if (uid == "") { return(FrameDLRObject.CreateInstance(false, "缺少角色参数")); } BeginTrans(); var up = DB.NewDBUnitParameter(); FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'LoginInfo', $where:{ UID:{0} } }", uid); var re = DB.Excute(up, express); if (re.QueryTable.RowLength <= 0) { return(FrameDLRObject.CreateInstance(false, "用户资料不存在")); } express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : 'Map_LoginRole', $where:{ LoginUID:{0} } }", uid); DB.Excute(up, express); express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Insert', $table : 'Map_LoginRole', LoginUID:{0} }", uid); foreach (var s in roles.Split(',')) { express.SetValue("RoleUID", s); express.SetValue("$acttype", "Insert"); DB.Excute(up, express); } CommitTrans(); return(rtn); }
/// <summary> /// 快速执行建议Delete操作 /// </summary> /// <param name="p"></param> /// <param name="toTable"></param> /// <param name="where"></param> /// <param name="islog"></param> /// <returns></returns> public virtual UnitDataCollection QuickDelete(UnitParameter p, string toTable, object where, bool islog = false) { FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Delete', $table : {0} }", toTable); FrameDLRObject whereexpress = FrameDLRObject.CreateInstance(where); if (whereexpress != null && whereexpress.Items.Count > 0) { express.SetValue("$where", whereexpress); } return(Excute(p, express)); }
/// <summary> /// 快速执行简易Insert操作 /// </summary> /// <param name="p"></param> /// <param name="toTable"></param> /// <param name="data"></param> /// <param name="islog"></param> /// <returns></returns> public virtual UnitDataCollection QuickInsert(UnitParameter p, string toTable, object data, bool islog = false) { FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Insert', $table : {0} }", toTable); FrameDLRObject dataexpress = FrameDLRObject.CreateInstance(data); foreach (var item in dataexpress.Items) { express.SetValue(item.Key, item.Value); } return(Excute(p, express, islog)); }
public override object post() { object rtn = null; var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); string no = ComFunc.nvl(PostDataD.no); string name = ComFunc.nvl(PostDataD.name); int level = PostDataD.level; string url = ComFunc.nvl(PostDataD.url); string parentno = ComFunc.nvl(PostDataD.parentno); string ismenu = ComFunc.nvl(PostDataD.ismenu); string remark = ComFunc.nvl(PostDataD.remark); BeginTrans(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype: 'Query', $table: 'FunctionInfo', $where: { $or:[ FunctionNo: {0}, FunctionName:{1} ] } }", no, name)); if (IsValidBy("功能已存在", () => re.QueryTable.RowLength <= 0)) { DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Insert', $table : 'FunctionInfo', FunctionNo:{0}, FunctionName:{1}, ParentNo:{2}, Url:{3}, IsMenu:{4}, Remark:{5}, CreateTime:{6}, FunctionLevel:{7} }", no, name, parentno, url, (ismenu == "true" || ismenu == "1") ? 1 : 0, remark, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), level)); rtn = new { no = no }; } return(rtn); }
public new List <FrameDLRObject> get() { SetCacheEnable(false); var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype: 'Query', $table: 'RoleInfo', }")); var list = re.QueryData <FrameDLRObject>(); var level0 = from t in list select new { Id = t.RoleUID, Name = t.RoleName, Remark = t.Remark }; return(level0.ToList()); }
object add(LogicData arg) { var rtn = FrameDLRObject.CreateInstance(@"{ issuccess:true, msg:'操作成功' }"); var uid = Guid.NewGuid().ToString(); var rolename = ComFunc.nvl(arg["rolename"]); var isactive = ComFunc.nvl(arg["isactive"]); var remark = ComFunc.nvl(arg["remark"]); var up = DB.NewDBUnitParameter(); BeginTrans(); FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'RoleInfo', $where:{ RoleName:{0} } }", rolename); var re = DB.Excute(up, express); if (re.QueryTable.RowLength > 0) { rtn.issuccess = false; rtn.msg = "角色已经存在"; return(rtn); } express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Insert', $table : 'RoleInfo', RoleUID:{0}, RoleName:{1}, Remark:{2}, CreateTime:{3}, IsActive:{4} }", uid, rolename, remark, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), isactive == "true" ? 1 : 0); DB.Excute(up, express); CommitTrans(); return(rtn); }
public new List <FrameDLRObject> get() { SetCacheEnable(false); var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype: 'Query', $table: 'FunctionInfo', }")); var list = re.QueryData <FrameDLRObject>(); var level0 = from t in list where t.FunctionLevel == 0 select new { No = t.FunctionNo, Name = t.FunctionName, Level = t.FunctionLevel, Url = t.Url, IsMenu = t.IsMenu, Remark = t.Remark, Sub = BuildFunctionTree4GetList(t, list) }; return(level0.ToList()); }
public new object patch(string no) { object rtn = null; var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); var name = ComFunc.nvl(PostDataD.name); var url = ComFunc.nvl(PostDataD.url); var ismenu = ComFunc.nvl(PostDataD.ismenu); var remark = ComFunc.nvl(PostDataD.remark); BeginTrans(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype: 'Query', $table: 'FunctionInfo', $where: { $or:[ FunctionNo: {0}, FunctionName:{1} ] } }", no, name)); if (IsValidBy("功能已存在", () => re.QueryTable.RowLength <= 0)) { DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Update', $table : 'FunctionInfo', FunctionName:{1}, Url:{2}, IsMenu:{3}, Remark:{4}, $where:{ FunctionNo:{0} } }", no, name, url, (ismenu == "true" || ismenu == "1") ? 1 : 0, remark)); rtn = new { no = no }; } CommitTrans(); SetRefreshCacheRoute($"/functions/{no}"); return(rtn); }
object add(LogicData arg) { var uid = Guid.NewGuid().ToString(); var loginid = ComFunc.nvl(arg["loginid"]); var loginname = ComFunc.nvl(arg["loginname"]); var pass = ComFunc.nvl(arg["pass"]); var isactive = ComFunc.nvl(arg["isactive"]); var remark = ComFunc.nvl(arg["remark"]); var up = DB.NewDBUnitParameter(); BeginTrans(); FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'LoginInfo', $where:{ LoginID:{0} } }", loginid); var re = DB.Excute(up, express); if (re.QueryTable.RowLength > 0) { return(FrameDLRObject.CreateInstance(false, "登录账号已经存在")); } express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Insert', $table : 'LoginInfo', UID:{0}, LoginID:{1}, LoginPass:{2}, LoginName:{3}, Remark:{4}, IsActive:{5} }", uid, loginid, pass, loginname, remark, isactive); DB.Excute(up, express); CommitTrans(); return(FrameDLRObject.CreateInstance(true, "操作成功")); }
object list(LogicData arg) { var id = ComFunc.nvl(arg["filter"]); var up = DB.NewDBUnitParameter(); up.SetValue("id", id); FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'QueryByPage', $table : 'LoginInfo' }"); if (id != "") { express.SetValue("$where", FrameDLRObject.CreateInstanceFromat(@"{ $or:[ { LoginID:{ $like:{0} } }, { LoginName:{ $like:{0} } } ] }", id)); } UnitDataCollection re = DB.Excute(up, express); var list = re.QueryData <FrameDLRObject>(); var rtn = FrameDLRObject.CreateInstance(true, ""); rtn.data = list; rtn.current_page = re.CurrentPage; rtn.count_per_page = re.Count_Of_OnePage; rtn.to_page = re.CurrentPage; rtn.total_page = re.TotalPage; rtn.total_row = re.TotalRow; return(rtn); }
public override object post() { object rtn = null; var id = ComFunc.nvl(PostDataD.id); var pass = ComFunc.nvl(PostDataD.pw); var name = ComFunc.nvl(PostDataD.name); var remark = ComFunc.nvl(PostDataD.remark); BeginTrans(); var up = DB.NewDefaultDBUnitParameter<SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'LoginInfo', $where : { LoginID:{0} } }", id)); if(IsValidBy("账号已经存在", ()=> !(re.QueryTable.RowLength > 0))) { var uid = Guid.NewGuid().ToString(); DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Insert', $table : 'LoginInfo', UID:{0}, LoginID:{1}, LoginPass:{2}, LoginName:{3}, Remark:{4}, IsActive:'true' }", uid, id, pass, name, remark)); rtn = new { uid = uid, id = id }; } CommitTrans(); return rtn; }
protected override bool DoLogin(string id) { var rtn = true; var pass = ComFunc.nvl(PostDataD.pw); BeginTrans(); //登录账号判断 var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); var re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'LoginInfo', $where : { LoginID:{0}, IsActive:'true' } }", id)); if (re.QueryTable.RowLength <= 0) { return(false); } if (ComFunc.nvl(re.QueryTable[0, "LoginPass"]) != pass) { return(false); } up.SetValue("LastLoginTime", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")); DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Update', $table : 'LoginInfo', $where : { LoginID:{0} }, LastLoginTime:{1} }", id, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"))); CommitTrans(); return(rtn); }
public object patch(string id) { object rtn = null; id = ComFunc.nvl(id); var name = ComFunc.nvl(PostDataD.name); var remark = ComFunc.nvl(PostDataD.remark); BeginTrans(); var up = DB.NewDefaultDBUnitParameter<SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Query', $table : 'LoginInfo', $where : { LoginID:{0} } }", id)); if (IsValidBy("账号不存在", () => re.QueryTable.RowLength > 0)) { DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Update', $table : 'LoginInfo', LoginName:{1}, Remark:{2}, $where:{ LoginID:{0} } }", id, name, remark)); rtn = new { id = id }; } CommitTrans(); SetRefreshCacheRoute($"/user/{id}"); return rtn; }
public object get(dynamic parent_info) { SetCacheEnable(false); if (parent_info == null) { return(null); } var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@" { $acttype: 'Query', 'a.RoleUID':true, 'a.RoleName':true, 'a.Remark':true, $table: { RoleInfo: 'a', Map_LoginRole: { $as: 'b', $join: { $by: 'a', $on: { 'b.RoleUID': '#sql:a.RoleUID' } } } }, $where: { 'b.LoginUID': {0}, 'a.IsActive':{1} } }", parent_info.uid, "1")); var l = from t in re.QueryData <FrameDLRObject>() select new { UID = t.RoleUID, Name = t.RoleName, Remark = t.Remark }; return(l.ToList()); }
public override object post() { object rtn = null; var up = DB.NewDefaultDBUnitParameter <SqliteAccess>(); string name = ComFunc.nvl(PostDataD.name); string remark = ComFunc.nvl(PostDataD.remark); BeginTrans(); UnitDataCollection re = DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype: 'Query', $table: 'RoleInfo', $where: { RoleName:{0} } }", name)); if (IsValidBy("角色已存在", () => re.QueryTable.RowLength <= 0)) { var uid = Guid.NewGuid().ToString(); DB.Excute(up, FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'Insert', $table : 'RoleInfo', RoleUID:{0}, RoleName:{1}, Remark:{2}, CreateTime:{3}, IsActive:{4} }", uid, name, remark, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), "1")); rtn = new { id = uid }; } CommitTrans(); return(rtn); }
/// <summary> /// Copy Data /// </summary> /// <param name="up"></param> /// <param name="from_table">来源表</param> /// <param name="to_Table">目标表</param> /// <param name="if_not_exists">为true的时候添加not exists的where条件,否则不过滤,注意:该过滤条件不是根据每笔资料进行比对的,而是根据目标表是否存在数据来作为判定依据,因此会出现只要目标表存在资料,无论与来源数据是否相同都不会执行写入操作</param> /// <param name="columns">要copy的栏位,指定来源表的栏位,值为目标表的栏位,格式必须为{'from_column':'to_column'}</param> /// <param name="where">条件表达式,与Query指令的表达式一样的格式,该表达式用于过滤来源表</param> /// <param name="is_log">是否记录log</param> public virtual void CopyData(UnitParameter up, string from_table, string to_Table, bool if_not_exists = false, object columns = null, object where = null, bool is_log = false) { FrameDLRObject express = FrameDLRObject.CreateInstanceFromat(@"{ $acttype : 'CopyData', $table : {0}, $to_table:{1}, $if_not_exists:{2} }", FrameDLRFlags.SensitiveCase, from_table, to_Table, if_not_exists); if (columns != null) { FrameDLRObject columnexpress = FrameDLRObject.CreateInstance(columns, FrameDLRFlags.SensitiveCase); foreach (var item in columnexpress.Items) { express.SetValue(item.Key, item.Value); } } if (where != null) { express.SetValue("$where", FrameDLRObject.CreateInstance(where, FrameDLRFlags.SensitiveCase)); } Excute(up, express, is_log); }