/// <summary> /// 获取指定页的联系人信息 /// </summary> /// <param name="pageSize"></param> /// <param name="pageNumber"></param> /// <param name="allCount"></param> /// <returns></returns> public List<CustomerContactInfo> GetContactInfoList(int pageSize, int pageNumber, int allCount) { CustomerContactInfo info = new CustomerContactInfo(); OQL q = new OQL(info); q.Select().OrderBy(info.CustomerName, "asc"); q.Limit(pageSize, pageNumber); q.PageWithAllRecordCount = allCount; return EntityQuery<CustomerContactInfo>.QueryList(q); }
public List<GoodsBaseInfoVM> GetGoodsBaseInfoList(int pageSize, int pageNumber,int allCount) { GoodsBaseInfo info = new GoodsBaseInfo(); OQL q = new OQL(info); q.Select() .OrderBy (info.SerialNumber ,"asc"); q.Limit(pageSize, pageNumber); q.PageWithAllRecordCount = allCount; return GetGoodsBaseInfoList(q); }
//测试OQL的统计功能 private int GetStockCount(string serialNumber) { SuperMarketDAL.Entitys.GoodsStock stock = new SuperMarketDAL.Entitys.GoodsStock(); stock.SerialNumber = serialNumber; OQL q = new OQL(stock); q.Select() .Count(stock.Stocks, "") .Where(stock.SerialNumber); stock = EntityQuery<SuperMarketDAL.Entitys.GoodsStock>.QueryObject(q); int stockCount = stock.Stocks; return stockCount; }
private List<GoodsBaseInfoVM> GetGoodsBaseInfoList(OQL oql) { List<GoodsBaseInfo> list = EntityQuery<GoodsBaseInfo>.QueryList(oql); //将Entity对象转化成ViewModel对象 return list.ConvertAll<GoodsBaseInfoVM>(p => { return new GoodsBaseInfoVM() { CanUserMonth = p.CanUserMonth, GoodsName = p.GoodsName, Manufacturer = p.Manufacturer, SerialNumber = p.SerialNumber }; }); }
/// <summary> /// 使用实体对象初始化构造函数 /// </summary> /// <param name="e"></param> public OQL1(EntityBase e, OQL q) { this.CurrEntity = e; this.CurrOQL = q; this.CurrEntity.PropertyGetting += new EventHandler<PropertyGettingEventArgs>(CurrEntity_PropertyGetting); }
public JoinEntity(OQL mainOql) { this._mainOql = mainOql; }
private OQL2 IN(object field, OQL q, bool isIn) { string inString = isIn ? " IN " : " NOT IN "; if (q.sql_fields.IndexOf(',') > 0) throw new Exception("OQL 语法错误,包含在In查询中的子查询只能使用1个实体属性,请修改子查询的Select参数。"); string childSql = q.ToString().Replace("@P", "@INP"); _conditionString += " AND " + currFieldName + inString + " (\r\n" + childSql + ")"; foreach (string key in q.Parameters.Keys) this.paras.Add("IN" + key, q.Parameters[key]); return this; }
/// <summary> /// 以另外一个OQL条件作为Not In的子查询 /// </summary> /// <seealso cref="http://www.cnblogs.com/bluedoctor/archive/2011/02/24/1963606.html"/> /// <param name="field">属性字段</param> /// <param name="q">OQL表达式</param> /// <returns></returns> public OQL2 NotIn(object field, OQL q) { return IN(field, q, false); }
/// <summary> /// 以另外一个OQL条件作为In的子查询 /// </summary> /// <seealso cref="http://www.cnblogs.com/bluedoctor/archive/2011/02/24/1963606.html"/> /// <param name="field">属性字段</param> /// <param name="q">OQL表达式</param> /// <returns></returns> public OQL2 IN(object field, OQL q) { //if (q.sql_fields.IndexOf(',') > 0) // throw new Exception("OQL 语法错误,包含在In查询中的子查询只能使用1个实体属性,请修改子查询的Select参数。"); //_conditionString += " AND " + currFieldName + " IN (\r\n" + q.ToString () + ")"; //foreach (string key in q.Parameters.Keys) // this.paras.Add(key, q.Parameters[key]); //return this; return IN(field, q, true); }
public int GetAllGoodsBaseInfoCount() { GoodsBaseInfo info = new GoodsBaseInfo(); OQL q = new OQL(info); q.Select() .Count(info.SerialNumber,"Count"); GoodsBaseInfo infoCount = EntityQuery<GoodsBaseInfo>.QueryObject(q); return Convert.ToInt32(infoCount.PropertyList("Count")); }
//该方法已经废弃,合并在 GetOverDays 中 private int GetStockCount(int goodsID) { GoodsStock stock = new GoodsStock(); stock.GoodsID = goodsID; OQL q = new OQL(stock); q.Select(stock.Stocks) .Where(stock.GoodsID); stock = EntityQuery<GoodsStock>.QueryObject(q); int stockCount = stock.Stocks; return stockCount; }
/// <summary> /// 获取所有的可售商品总数 /// </summary> /// <returns></returns> public int GetGoodsStockCount() { GoodsStock stock = new GoodsStock(); OQL q = new OQL(stock); q.Select() .Count(stock.Stocks, "库存数量") .Where(q.Condition.AND(stock.Stocks, ">", 0)); stock = EntityQuery<GoodsStock>.QueryObject(q); return stock.Stocks; }
/// <summary> /// 获取商品名称分组 /// </summary> /// <returns></returns> public List<string> GetAllGoodsNames() { GoodsBaseInfo info = new GoodsBaseInfo(); OQL q = new OQL(info); q.Select(info.GoodsName) .GroupBy(info.GoodsName) .OrderBy(info.GoodsName, "asc"); List<GoodsBaseInfo> list = EntityQuery<GoodsBaseInfo>.QueryList(q); var result = list.ConvertAll<string>(p => p.GoodsName); return result; }
/// <summary> /// 获取指定商品名称下面的商品信息 /// </summary> /// <param name="goodsName">商品名称</param> /// <returns></returns> public List<GoodsBaseInfoVM> GetGoodsBaseInfoWhithGoodsName(string goodsName) { GoodsBaseInfo info = new GoodsBaseInfo(); info.GoodsName = goodsName; OQL q = new OQL(info); q.Select(info.SerialNumber, info.GoodsName, info.Manufacturer, info.CanUserMonth) .Where(info.GoodsName) .OrderBy(info.GoodsName, "asc"); return GetGoodsBaseInfoList(q); }
/// <summary> /// 根据商品名称为顺序获取所有商品基本信息 /// </summary> /// <returns></returns> public List<GoodsBaseInfoVM> GetAllGoodsBaseInfoOrderByNames() { GoodsBaseInfo info = new GoodsBaseInfo(); OQL q = new OQL(info); q.Select(info.SerialNumber,info.GoodsName,info.Manufacturer,info.CanUserMonth ) .OrderBy(info.GoodsName, "asc"); return GetGoodsBaseInfoList(q); }