Пример #1
0
 private void VisitSelectField(LiteField field)
 {
     if (field.FieldType == LiteFieldTypeEnum.EntityField)
     {
         if (!string.IsNullOrWhiteSpace(field.TableAlias))
         {
             this.sb.Append("[");
             this.sb.Append(field.TableAlias);
             this.sb.Append("].");
         }
         this.sb.Append("[");
         this.sb.Append(field.FieldName);
         this.sb.Append("] AS [");
         this.sb.Append(field.FieldAlias);
         this.sb.Append("]");
     }
     else if (field.FieldType == LiteFieldTypeEnum.Function)
     {
         this.sb.Append(field.FunctionName.ToString());
         this.sb.Append("(");
         if (!string.IsNullOrWhiteSpace(field.TableAlias))
         {
             this.sb.Append("[");
             this.sb.Append(field.TableAlias);
             this.sb.Append("].");
         }
         this.sb.Append("[");
         this.sb.Append(field.FieldName);
         this.sb.Append("]) AS [");
         this.sb.Append(field.FieldAlias);
         this.sb.Append("]");
     }
     else if (field.FieldType == LiteFieldTypeEnum.ConstField)
     {
         string str = SharpTypeHelper.Format(field.ConstValue);
         this.sb.Append(str);
         this.sb.Append(" AS [");
         this.sb.Append(field.FieldAlias);
         this.sb.Append("]");
     }
     else
     {
         this.sb.Append("(");
         this.VisitSubQuery(field.SubQuery);
         this.sb.Append(") AS [");
         this.sb.Append(field.FieldAlias);
         this.sb.Append("]");
     }
 }
Пример #2
0
        public override DataTable Query()
        {
            var q = LiteQuery.New("T_User", "a");

            q.SelectFields.Add(LiteField.NewEntityField("a", "User_ID"));
            q.SelectFields.Add(LiteField.NewEntityField("a", "User_Name"));
            q.SelectFields.Add(LiteField.NewEntityField("a", "User_Code"));
            q.SelectFields.Add(LiteField.NewEntityField("a", "Department_ID"));
            q.SelectFields.Add(LiteField.NewEntityField("a", "User_Mobile"));

            var subQ = GetRefSubQuery("T_Department", "Department_ID", "Department_Name", "a", "Department_ID");

            q.SelectFields.Add(LiteField.NewSubQueryField(subQ, "Department_ID_V"));

            q.Filter = LiteFilter.True();

            if (!string.IsNullOrEmpty(this.UserName))
            {
                var fUserName = FilterField.New("a", "User_Name").Contains(this.UserName);
                q.Filter = q.Filter.And(fUserName);
            }
            if (!string.IsNullOrEmpty(this.UserCode))
            {
                var fUserCode = FilterField.New("a", "User_Code").Contains(this.UserCode);
                q.Filter = q.Filter.And(fUserCode);
            }
            if (this.DepartmentId != null)
            {
                var fDeptId = FilterField.New("a", "Department_ID").Equal(this.DepartmentId.Value);
                q.Filter = q.Filter.And(fDeptId);
            }

            AddFilterForPrevilege(q);
            AddFilterForShared(q);

            q.SkipNumber = this.PageIndex * this.PageSize;
            q.TakeNumber = this.PageSize;

            return(this.DataHelper.ExecuteLiteQuery(q));
        }