/// <summary> /// DB资料非查询 /// 自动识别sql中的参数,并从传入的参数集中找对应的参数,如果没有,则需补充自定义的参数定义 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="connstr"></param> /// <param name="sql"></param> /// <param name="param"></param> /// <returns></returns> protected virtual void NonQuery <T>(string connstr, string sql, params KeyValuePair <string, object>[] param) where T : ADBAccess, IResourceEntity { T dao = GetDao <T>(connstr, null); try { DBOParameterCollection dbp = new DBOParameterCollection(); Dictionary <string, object> _dp = _p.Domain(DomainKey.INPUT_PARAMETER); foreach (var v in param) { if (!_dp.ContainsKey(v.Key)) { _dp.Add(v.Key, v.Value); } } if (!string.IsNullOrEmpty(sql)) { string regstr = ""; regstr = @"(?<=" + dao.ParameterFlagChar + @")[A-Za-z0-9_]+\d*"; string regexpress = @"(?isx) (') #开始标记“<tag...>” (?> #分组构造,用来限定量词“*”修饰范围 \1 (?<Open>) #命名捕获组,遇到开始标记,入栈,Open计数加1 |\1 (?<-Open>) #狭义平衡组,遇到结束标记,出栈,Open计数减1 |[^']* #右侧不为开始或结束标记的任意字符 ) (?(Open)(?!)) #判断是否还有'OPEN',有则说明不配对,什么都不匹配 \1 #结束标记“</tag>” "; Regex re = new Regex(regstr); string tmpsql = ""; Regex re2 = new Regex(regexpress); tmpsql = sql; foreach (Match m in re2.Matches(tmpsql)) { tmpsql = tmpsql.Replace(m.Value, "#sp#"); } foreach (System.Text.RegularExpressions.Match m in re.Matches(tmpsql)) { if (_dp[m.ToString()] is byte[]) { dbp.Add(m.ToString(), _dp[m.ToString()], System.Data.DbType.Binary); } else { dbp.Add(m.ToString(), _dp[m.ToString()]); } } } UnitDataCollection rtn = new UnitDataCollection(); dao.ExecuteNoQuery(sql, dbp); } finally { dao.Close(); } }
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 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 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); } }
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(); } }
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> /// 执行sp /// </summary> /// <typeparam name="T"></typeparam> /// <param name="connstr"></param> /// <param name="spname"></param> /// <param name="isreturnds"></param> /// <param name="dbp"></param> /// <returns></returns> protected virtual UnitDataCollection ExcuteSP <T>(string connstr, string spname, bool isreturnds, DBOParameterCollection dbp) where T : ADBAccess, IResourceEntity { T dao = GetDao <T>(connstr, null); try { UnitDataCollection rtn = new UnitDataCollection(); DBDataCollection dbrtn = dao.ExcuteProcedure(ComFunc.nvl(spname), isreturnds, ref dbp); if (dbrtn.IsSuccess) { foreach (string s in dbrtn.Keys) { if (dbrtn[s] is DataSetStd) { rtn.QueryDatas = dbrtn.ReturnDataSet; } else { rtn.SetValue(s, dbrtn[s]); } } } return(rtn); } finally { dao.Close(); } }
/// <summary> /// 标准化DB执行操作 /// </summary> /// <param name="p"></param> /// <param name="express"></param> /// <returns></returns> public virtual UnitDataCollection Excute(UnitParameter p, DBExpress express) { UnitDataCollection rtn = new UnitDataCollection(); if (express != null) { p.SetValue("__json__", express); if (p.Dao is ADBAccess) { if (express.CurrentAct == DBExpress.ActType.Query) { rtn = Query <JsonExpressUnit>(p, ""); } else if (express.CurrentAct == DBExpress.ActType.QueryByPage) { rtn = QueryByPage <JsonExpressUnit>(p, ""); } else { NonQuery <JsonExpressUnit>(p, ""); } } else if (p.Dao is MongoAccess26) { var result = ((MongoAccess26)p.Dao).Excute(express); if (express.CurrentAct == DBExpress.ActType.Query) { rtn.MongoListData = (List <FrameDLRObject>)result; } } } return(rtn); }
public string ConvertTo(object obj) { if (obj == null) { return(""); } UnitDataCollection udc = null; if (obj is UnitDataCollection) { udc = (UnitDataCollection)obj; } else { throw new Exception("QueryByPage2Json无法转化" + obj.GetType().FullName + "类型数据!"); } FrameDLRObject rtn = FrameDLRObject.CreateInstance(FrameDLRFlags.SensitiveCase); if (udc.QueryTable != null) { rtn.SetValue("page", udc.CurrentPage + ""); rtn.SetValue("total", udc.TotalRow + ""); rtn.SetValue("rows", udc.QueryTable.Rows); } return(rtn.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> /// 直接调用DB驱动执行大数据量新增操作 /// 并非所有的数据库引擎支持大数据量的新增操作,具体请看相关操作说明 /// </summary> /// <param name="p"></param> /// <param name="toTable"></param> /// <param name="data"></param> /// <returns></returns> public virtual UnitDataCollection BulkInsert(UnitParameter p, string toTable, object data) { var rtn = new UnitDataCollection(); if (p.Dao != null && p.Dao is ADBAccess) { ((ADBAccess)p.Dao).Insert(data, toTable); } return(rtn); }
public string ConvertTo(object obj) { if (obj == null) { return(""); } string rtn = ""; UnitDataCollection udc = null; if (obj is UnitDataCollection) { udc = (UnitDataCollection)obj; } else { throw new Exception("QueryByPage2Json无法转化" + obj.GetType().FullName + "类型数据!"); } if (udc.QueryTable != null) { JsonObjectCollection jsonrtn = new JsonObjectCollection(); //jsonrtn.Add(new JsonStringValue("Count_Of_OnePage", udc.Count_Of_OnePage + "")); jsonrtn.Add(new JsonStringValue("page", udc.CurrentPage + "")); //jsonrtn.Add(new JsonStringValue("total", udc.TotalPage + "")); jsonrtn.Add(new JsonStringValue("total", udc.TotalRow + "")); DataTableStd dts = udc.QueryTable; JsonArrayCollection jsonobj = new JsonArrayCollection("rows"); for (int j = 0; j < dts.RowLength; j++) { JsonObjectCollection jac = new JsonObjectCollection(); foreach (string colname in dts.ColumnNames) { if (dts.ColumnDateType(colname).FullName == typeof(DateTime).FullName) { DateTimeStd dtime = DateTimeStd.ParseStd(dts[j, colname]); jac.Add(new JsonStringValue(colname, dtime != null ? dtime.Value.ToString("yyyy/MM/dd HH:mm:ss") : "")); } else { jac.Add(new JsonStringValue(colname, ComFunc.nvl(dts[j, colname]))); } } jsonobj.Add(jac); } jsonrtn.Add(jsonobj); rtn = jsonrtn.ToString(); } return(rtn); }
public override UnitDataCollection QueryByPage <T>(UnitParameter p, string actionflag) { InitUPPage(p); UnitDataCollection rtn = base.QueryByPage <T>(p, actionflag); _logic.CallContext_DataCollection.WebData.SetValue(Count_per_Page_Key, rtn.Count_Of_OnePage); _logic.CallContext_DataCollection.WebData.SetValue(CurrentPage_Key, rtn.CurrentPage); _logic.CallContext_DataCollection.WebData.SetValue(Total_Page_Key, rtn.TotalPage); _logic.CallContext_DataCollection.WebData.SetValue(Total_Row_Key, rtn.TotalRow); return(rtn); }
public void Save(UnitDataCollection unitDataCollection) { string path = Application.dataPath + "/Resources/Data/Characters/UnitData.xml"; var serializer = new XmlSerializer(typeof(UnitDataCollection)); using (var stream = new FileStream(path, FileMode.Create)) { serializer.Serialize(stream, unitDataCollection); Debug.Log("Saved XML to " + path); } }
public void LoadUnitData() { listUnitData.Clear(); TextAsset textAsset = Resources.Load("Data/Characters/UnitData") as TextAsset; var serializer = new System.Xml.Serialization.XmlSerializer(typeof(UnitDataCollection)); using (var reader = new System.IO.StringReader(textAsset.text)) { this.unitDataCollection = (UnitDataCollection)serializer.Deserialize(reader); } listUnitData = unitDataCollection.ListUnitsData; totalUnit = listUnitData.Count; }
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()); }
/// <summary> /// Awake this instance and destroy duplicates. /// </summary> void Awake() { print("UnitDataManager.Awake()"); if (_instance == null) { string path = Path.Combine(Application.streamingAssetsPath, UNIT_DATA_FILE); string data = File.ReadAllText(path); GlobalUnitDataCollection = JsonConvert.DeserializeObject <UnitDataCollection> (data); _instance = this; } else if (_instance != this) { Destroy(this.gameObject); } DontDestroyOnLoad(this.gameObject); }
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 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); }
/// <summary> /// 标准化DB执行操作 /// </summary> /// <param name="p"></param> /// <param name="express"></param> /// <returns></returns> public static UnitDataCollection Excute(UnitParameter p, DBExpress express) { UnitDataCollection rtn = new UnitDataCollection(); if (express != null) { p.SetValue("__json__", express); if (p.Dao is ADBAccess) { if (express.CurrentAct == DBExpress.ActType.Query) { rtn = Query <JsonExpressUnit>(p, ""); } else if (express.CurrentAct == DBExpress.ActType.QueryByPage) { rtn = QueryByPage <JsonExpressUnit>(p, ""); } else { switch (express.CurrentAct) { case DBExpress.ActType.CreateTable: rtn.ErrorMsg = ExcuteDDL <JsonExpressUnit>(p, ""); break; case DBExpress.ActType.AlterColumn: rtn.ErrorMsg = ExcuteDDL <JsonExpressUnit>(p, ""); break; case DBExpress.ActType.DropTable: rtn.ErrorMsg = ExcuteDDL <JsonExpressUnit>(p, ""); break; default: NonQuery <JsonExpressUnit>(p, ""); break; } } } } 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; }
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); }
public DataCollection DoOperate(ParameterStd p) { string flag = p.GetValue <string>("_unit_action_flag_"); UnitParameter up = (UnitParameter)p; T t = (T)Activator.CreateInstance(typeof(T), true); var sqlobj = t.GetSqlFunc(flag)(up); if (!(sqlobj is FrameDLRObject)) { throw new TypeRequiredException("需要的动态数据对象类型应该为FrameDLRObject"); } IDBAccessInfo dba = up.Dao; DBOParameterCollection dbc = up.SPParameter; UnitDataCollection rtn = new UnitDataCollection(); if (dba is ADBAccess) { bool isrturnds = sqlobj.isreturnds != null ? sqlobj.isreturnds : false; DBDataCollection dbrtn = ((ADBAccess)dba).ExcuteProcedure(ComFunc.nvl(sqlobj.spname), isrturnds, ref dbc); if (dbrtn.IsSuccess) { foreach (string s in dbrtn.Keys) { if (dbrtn[s] is DataSetStd) { rtn.QueryDatas = dbrtn.ReturnDataSet; } else { rtn.SetValue(s, dbrtn[s]); } } } } return(rtn); }
public object Active(string id,string isactive) { object rtn = null; id = ComFunc.nvl(id); isactive = ComFunc.nvl(isactive); 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', IsActive:{1}, $where:{ LoginID:{0} } }", id, isactive.ToLower()=="true"?"true":"false")); rtn = new { id = id }; } CommitTrans(); SetRefreshCacheRoute($"/user/{id}"); return rtn; }
public IDCache() { Logger.DBLog.Info("[fBaseXtensions] Loading The External Cache..."); var unitdata = UnitDataCollection.DeserializeFromXML(); //var unitdata = new UnitDataCollection(); UnitDataCollection.SerializeToXML(unitdata); UnitEntries.Clear(); foreach (var entry in unitdata.UnitEntries) { UnitEntries.Add(entry.SnoId, new CacheUnitEntry(entry.SnoId, (UnitFlags)entry.ObjectType, entry.InternalName)); } Logger.DBLog.DebugFormat("[fBaseXtensions] Loaded {0} Unit Entries", UnitEntries.Count); UnitPetEntries.Clear(); foreach (var entry in unitdata.UnitPetEntries) { UnitPetEntries.Add(entry.SnoId, new CacheUnitPetEntry(entry.SnoId, (PetTypes)entry.ObjectType, entry.InternalName)); } Logger.DBLog.DebugFormat("[fBaseXtensions] Loaded {0} Pet Entries", UnitPetEntries.Count); var Items = ItemDataCollection.DeserializeFromXML(); //var Items = new ItemDataCollection(); ItemDataCollection.SerializeToXML(Items); ItemDroppedEntries.Clear(); foreach (var entry in Items.DroppedItemCache) { ItemDroppedEntries.Add(entry.SnoId, new CacheDroppedItemEntry(entry.SnoId, (PluginDroppedItemTypes)entry.ObjectType, entry.InternalName)); } Logger.DBLog.DebugFormat("[fBaseXtensions] Loaded {0} Dropped Item Entries", ItemDroppedEntries.Count); ItemDataEntries.Clear(); foreach (var entry in Items.ItemDataCache) { ItemDataEntries.Add(entry.SnoId, entry); } Logger.DBLog.DebugFormat("[fBaseXtensions] Loaded {0} Item Entries", ItemDataEntries.Count); ItemGemEntries.Clear(); foreach (var entry in Items.GemCache) { ItemGemEntries.Add(entry.SnoId, new CacheItemGemEntry(entry)); } Logger.DBLog.DebugFormat("[fBaseXtensions] Loaded {0} Gem Entries", ItemGemEntries.Count); ItemDroppedInternalNames.Clear(); foreach (var entry in Items.DroppedItemInternalNames) { ItemDroppedInternalNames.Add(entry); } //Logger.DBLog.InfoFormat("[fBaseXtensions] Loaded {0} Item Name Entries", ItemDroppedInternalNames.Count); var Gizmos = GizmoDataCollection.DeserializeFromXML(); //var Gizmos = new GizmoDataCollection(); GizmoDataCollection.SerializeToXML(Gizmos); GizmoEntries.Clear(); foreach (var entry in Gizmos.GizmoCache) { var pluginGizmoType = (PluginGizmoType)entry.ObjectType; GizmoEntries.Add(entry.SnoId, new CacheGizmoEntry(entry.SnoId, (GizmoType)Enum.Parse(typeof(GizmoType), pluginGizmoType.ToString()), entry.InternalName, entry.GizmotargetType)); } Logger.DBLog.DebugFormat("[fBaseXtensions] Loaded {0} Gizmo Entries", GizmoEntries.Count); var Avoidance = AvoidanceDataCollection.DeserializeFromXML(); //var Avoidance = new AvoidanceDataCollection(); AvoidanceDataCollection.SerializeToXML(Avoidance); AvoidanceEntries.Clear(); foreach (var entry in Avoidance.AvoidanceCache) { AvoidanceEntries.Add(entry.SnoId, new CacheAvoidanceEntry(entry.SnoId, (AvoidanceType)entry.ObjectType, entry.InternalName)); } Logger.DBLog.DebugFormat("[fBaseXtensions] Loaded {0} Avoidance Entries", AvoidanceEntries.Count); Logger.DBLog.InfoFormat("[fBaseXtensions] Finished Loading The External Cache!"); }