Ejemplo n.º 1
0
        public IList<EWebSMSAndUser> Search(IList<Guid> ltVehicleCode, string userCode, DateTime beginDate, DateTime endDate, bool? isRead, IList<int> ltType, int rowIndex, int pageSize, out int rowCount)
        {
            //using (IRepository repository = SessionManager.CreateRepository(typeof(EWebSMSAndUser)))
            //{
            //    IList<EWebSMSAndUser> list = new List<EWebSMSAndUser>();
            //    Expression expression = null;
            //    Query query = new Query(typeof(EWebSMSAndUser));
            //    ExpressionUtility<string>.AddExpression("ReceiveUserCode", userCode, BinaryOperatorType.EqualTo, ref expression);
            //    ExpressionUtility<DateTime>.AddExpression_Between("ReceiveTime", beginDate, endDate, ref expression);
            //    //ExpressionUtility<bool?>.AddExpression("IsRead", isRead, BinaryOperatorType.EqualTo, ref expression);
            //    if (!ltVehicleCode.IsNullOrEmpty())
            //    {
            //        query.Associations.Add(new Association("Info"));
            //        ExpressionUtility<Guid>.AddExpression("Info.VehicleCode", ltVehicleCode, PolynaryOperatorType.In, ref expression);
            //    }
            //    ExpressionUtility<int>.AddExpression("SMSInfoType", ltType, PolynaryOperatorType.In, ref expression);

            //    query.Order = Order.Asc("IsRead") & Order.Desc("ReceiveTime");
            //    query.Expression = expression;
            //    query.Projections.Add(Projection.RowCount());
            //    rowCount = repository.Single<int>(query);
            //    if (rowCount == 0)
            //        return null;
            //    query.Index = rowIndex;
            //    query.Count = pageSize;
            //    query.Projections.Clear();
            //    list = repository.List<EWebSMSAndUser>(query);

            //    return list;
            //}
            //代码优化后
            SMSVehicleDAL veDal = new SMSVehicleDAL();
            return  veDal.GetAllSearch(ltVehicleCode, userCode, beginDate, endDate, null, ltType, rowIndex, pageSize, out rowCount);
        }