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;
}