Esempio n. 1
0
        public static FileClass GetFileClassBymodel(BaseMODEL info)
        {
            string dataSaveFile = "/DataFile/JSONDATA";
            string fileName     = info.GetType().Name + ".datas";

            return(new FileClass(dataSaveFile, fileName));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
                }
            }
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
 /// <summary>
 /// 添加删除对象
 /// </summary>
 /// <param name="model">工具生成的对象</param>
 public void Delete(BaseMODEL model)
 {
     deleteList.Add(model);
 }
Esempio n. 7
0
 /// <summary>
 /// 添加修改对象
 /// </summary>
 /// <param name="model">工具生成的对象</param>
 public void Update(BaseMODEL model)
 {
     updateList.Add(model);
 }