public QueryResult QuerySociety(ControlPanelSocietyQueryFilter request) { int totalCount; var dataTable = ObjectFactory <IControlPanelSocietyQueryDA> .Instance.QuerySociety(request, out totalCount); return(new QueryResult() { Data = dataTable, TotalCount = totalCount }); }
public DataTable QuerySociety(ControlPanelSocietyQueryFilter filter, out int totalCount) { CustomDataCommand command = DataCommandManager.CreateCustomDataCommandFromConfig("QueryCPSocietys"); PagingInfoEntity pagingInfo = new PagingInfoEntity() { SortField = filter.PagingInfo.SortBy, StartRowIndex = filter.PagingInfo.PageIndex * filter.PagingInfo.PageSize, MaximumRows = filter.PagingInfo.PageSize }; using (DynamicQuerySqlBuilder builder = new DynamicQuerySqlBuilder( command.CommandText, command, pagingInfo, "c.InDate Desc")) { builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "LoginName", DbType.String, "@LoginName", QueryConditionOperatorType.Equal, filter.LoginName); if (!string.IsNullOrEmpty(filter.DisplayName)) { filter.DisplayName = EncodeSpecialChars(filter.DisplayName); } builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "DisplayName", DbType.String, "@DisplayName", QueryConditionOperatorType.Like, filter.DisplayName); builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "DepartmentCode", DbType.AnsiStringFixedLength, "@DepartmentCode", QueryConditionOperatorType.Equal, filter.DepartmentCode); builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "c.Status", DbType.String, "@Status", QueryConditionOperatorType.Equal, filter.Status.ToString()); command.CommandText = builder.BuildQuerySql(); EnumColumnList enumList = new EnumColumnList(); enumList.Add("Status", typeof(ControlPanelSocietyStatus)); CodeNamePairColumnList codeNameList = new CodeNamePairColumnList(); codeNameList.Add("DepartmentCode", CommonConst.DomainName_Common, CommonConst.Key_ControlPanelDept); DataTable dt = command.ExecuteDataTable(enumList, codeNameList); totalCount = Convert.ToInt32(command.GetParameterValue("@TotalCount")); return(dt); } }