Example #1
0
        /// <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);
        }
Example #2
0
        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);
        }
Example #3
0
        //测试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;
        }
Example #4
0
 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
         };
     });
 }
Example #5
0
 /// <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);
 }
Example #6
0
 public JoinEntity(OQL mainOql)
 {
     this._mainOql = mainOql;
 }
Example #7
0
        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;
        }
Example #8
0
 /// <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);
 }
Example #9
0
        /// <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);
        }
Example #10
0
        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"));
        }
Example #11
0
        //该方法已经废弃,合并在 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;
        }
Example #12
0
        /// <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;
        }
Example #13
0
 /// <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;
 }
Example #14
0
 /// <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);
 }
Example #15
0
 /// <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);
 }