public static FileClass GetFileClassBymodel(BaseMODEL info) { string dataSaveFile = "/DataFile/JSONDATA"; string fileName = info.GetType().Name + ".datas"; return(new FileClass(dataSaveFile, fileName)); }
int DeleteAll() { int retTrueCount = 0; addList = addList.OrderBy(info => info.GetType().Name).ToList(); BaseMODEL topMod = null; List <BaseMODEL> toplist = new List <BaseMODEL>(); foreach (var info in deleteList) { FileClass fs = FileClass.GetFileClassBymodel(info); if (topMod != null && topMod.GetType().Name == topMod.GetType().Name) { deleteItem(toplist, info); } else { toplist = GetListModel(fs.ReadFile(), info.GetType()); deleteItem(toplist, info); } fs.WriteInFile(JsonConvert.SerializeObject(toplist), true); retTrueCount++; } return(retTrueCount); }
void deleteItem(List <BaseMODEL> list, BaseMODEL info) { PropertyInfo[] p = info.GetType().GetProperties(); List <KeyBox> kbox = GetKeyList(p, info); foreach (KeyBox item in kbox) { if (string.IsNullOrEmpty(item.Dbpara.Value + "")) { throw new Exception("未将主键赋值"); } } if (kbox.Count == 1) { var wlist = list.Where(s => s.GetType().GetProperties().Where(ps => ps.Name == kbox[0].Key && ps.GetValue(s, null) == kbox[0].Dbpara.Value).Count() == 1); foreach (var item in wlist) { list.Remove(item); } } if (kbox.Count == 2) { var wlist = list.Where(s => s.GetType().GetProperties().Where(ps => ps.Name == kbox[0].Key && ps.GetValue(s, null) == kbox[0].Dbpara.Value).Count() == 1 && s.GetType().GetProperties().Where(ps => ps.Name == kbox[1].Key && ps.GetValue(s, null) == kbox[1].Dbpara.Value).Count() == 1); foreach (var item in wlist) { list.Remove(item); } } }
/// <summary> /// 添加添加对象 /// </summary> /// <param name="model">工具生成的对象</param> public void Add(BaseMODEL model) { ////自动添加int主键值 //List<KeyBox> kbox = GetKeyList(model.GetType().GetProperties(), model); //if (kbox.Where(key => key.Dbpara.Value == null && key.Pinfo.PropertyType.FullName.ToLower().IndexOf("int") != -1).ToList().Count == 1) //{ //} addList.Add(model); }
public override List <T> SelectList(string orderbystr) { List <T> retList = new List <T>(); BaseMODEL itemObj = (BaseMODEL)Activator.CreateInstance(typeof(T)); FileClass fc = FileClass.GetFileClassBymodel(itemObj); JArray ar = JArray.Parse(fc.ReadFile()); foreach (var item in ar) { retList.Add(JsonConvert.DeserializeObject <T>(item.ToString())); } return(retList); }
/// <summary> /// 添加删除对象 /// </summary> /// <param name="model">工具生成的对象</param> public void Delete(BaseMODEL model) { deleteList.Add(model); }
/// <summary> /// 添加修改对象 /// </summary> /// <param name="model">工具生成的对象</param> public void Update(BaseMODEL model) { updateList.Add(model); }