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("]"); } }
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)); }