明明是片海的盗梦菩提.net 3.5

我们都会矢志不渝的坚定自己的爱情和努力,并认定一定会幸福,于是所有的愿望都相继实现。 我只是和你默默地并排走在傍晚的岸边大道上,我们没有说一句话,默默前行......
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

entity的修正

Posted on 2011-10-26 14:51  明明是片海,盗梦的菩提  阅读(216)  评论(0编辑  收藏  举报

public IQueryable<Sys_Department> GetQueryable()
       {
           MwtsEntities.Devices.MergeOption = MergeOption.OverwriteChanges;
           return MwtsEntities.Sys_Departments.AsQueryable();
           //return MwtsEntities.Sys_Departments.AsQueryable();
       }

       public IQueryable<Sys_Department> GetQueryable(List<string> searchKeys, Sys_Department model, Dictionary<string, object> searchParams)
       {
           return GetQueryable(searchKeys, model, searchParams, null, null);
       }

       public IQueryable<Sys_Department> GetQueryable(List<string> searchKeys, Device model, Dictionary<string, object> searchParams, int? pageIndex, int? rowCount)
       {
           var modelQuery = new OMSSEntities().Devices.AsQueryable();//.Include("子对象").AsQueryable();

           #region 默认查询条件
           if (searchKeys.Contains("Id"))
           {
               modelQuery = modelQuery.Where(item => item.Id == model.Id);
           }
           if (searchKeys.Contains("Number"))
           {
               modelQuery = modelQuery.Where(item => item.Number == model.Number);
           }
           if (searchKeys.Contains("Name"))
           {
               modelQuery = modelQuery.Where(item => item.Name == model.Name);
           }
           if (searchKeys.Contains("Type"))
           {
               modelQuery = modelQuery.Where(item => item.Type == model.Type);
           }
           if (searchKeys.Contains("Model"))
           {
               modelQuery = modelQuery.Where(item => item.Model == model.Model);
           }
           #endregion

           #region 自定义查询条件
           if (searchParams.Count > 0)
           {
               //扩展查询条件
           }
           #endregion

           #region 翻页逻辑
           if (pageIndex != null && rowCount != null)
           {
               int skip = ((int)pageIndex - 1) * (int)rowCount;
               int take = (int)rowCount;
               modelQuery = modelQuery.OrderBy(item => item.Id).Skip(skip > 0 ? skip : 0).Take(take);
           }
           #endregion

           return modelQuery;
       }

       public Sys_Department GetByKey(String key)
       {
           return MwtsEntities.Devices.Where(item => item.Id == key).FirstOrDefault();
       }

       public bool CheckExist(String key)
       {
           return MwtsEntities.Devices.Where(item => item.Id == key).Count() > 0;
       }

       public void Add(Sys_Department model)
       {
           model.Id = Guid.NewGuid().ToString();
           MwtsEntities.Devices.AddObject(model);
           Save();
       }

       public void DeleteByKey(String key)
       {
           var model = GetByKey(key);
           if (model == null) return;
           MwtsEntities.Devices.DeleteObject(model);
           Save();
       }

       public void Save()
       {
           MwtsEntities.SaveChanges();
       }

       public bool CheckDeviceIsSame(string id, string deivceNumber)
       {
           id = id ?? string.Empty;//key为Null,判断有误
           return MwtsEntities.Devices.Where(item => item.Id != id && item.Number == deivceNumber).Count() > 0;
       }
       /// <summary>
       /// 设备是否占用
       /// </summary>
       public bool CheckIpAddressIsUsing(string id, string ipAddress)
       {
           id = id ?? string.Empty;//key为Null,判断有误
           return MwtsEntities.Devices.Where(item => item.Id != id && item.IpAddress == ipAddress).Count() > 0;
       }