Example #1
0
        public QueryResult QueryShiftRequestMemo(ShiftRequestMemoQueryFilter requestMemo)
        {
            int totalCount;
            var dataTable = ObjectFactory <IShiftRequestMemoQueryDA> .Instance.QueryShiftRequestMemo(requestMemo, out totalCount);

            return(new QueryResult()
            {
                Data = dataTable,
                TotalCount = totalCount
            });
        }
        public virtual DataTable QueryShiftRequestMemo(ShiftRequestMemoQueryFilter queryCriteria, out int totalCount)
        {
            PagingInfoEntity pagingEntity = new PagingInfoEntity();

            pagingEntity.SortField     = SortFieldMapping(queryCriteria.PagingInfo.SortBy);
            pagingEntity.MaximumRows   = queryCriteria.PagingInfo.PageSize;
            pagingEntity.StartRowIndex = queryCriteria.PagingInfo.PageIndex * queryCriteria.PagingInfo.PageSize;

            CustomDataCommand cmd = DataCommandManager.CreateCustomDataCommandFromConfig("Inventory_QueryShiftRequestMemo");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, "a.SysNo DESC"))
            {
                if (!string.IsNullOrEmpty(queryCriteria.CompanyCode))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "a.CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode",
                                                                 QueryConditionOperatorType.Equal, queryCriteria.CompanyCode);
                }

                if (queryCriteria.MemoStatus.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "a.Status", DbType.Int32, "@MemoStatus",
                                                                 QueryConditionOperatorType.Equal, queryCriteria.MemoStatus);
                }

                if (queryCriteria.CreateDateFrom.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "a.CreateTime", DbType.Date, "@CreateDateFrom",
                                                                 QueryConditionOperatorType.MoreThan, queryCriteria.CreateDateFrom);
                }

                if (queryCriteria.CreateDateTo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "a.CreateTime", DbType.Date, "@CreateDateTo",
                                                                 QueryConditionOperatorType.LessThan, queryCriteria.CreateDateTo.Value.AddDays(1));
                }

                if (queryCriteria.RequestSysNo.HasValue && queryCriteria.RequestSysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "a.ShiftSysNo", DbType.Int32, "@RequestSysNo",
                                                                 QueryConditionOperatorType.Equal, queryCriteria.RequestSysNo.Value);
                }

                if (queryCriteria.CreateUserSysNo.HasValue && queryCriteria.CreateUserSysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "a.CreateUserSysNo", DbType.Int32, "@CreateUserSysNo",
                                                                 QueryConditionOperatorType.Equal, queryCriteria.CreateUserSysNo.Value);
                }

                if (queryCriteria.EditUserSysNo.HasValue && queryCriteria.EditUserSysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "a.UpdateUserSysNo", DbType.Int32, "@EditUserSysNo",
                                                                 QueryConditionOperatorType.Equal, queryCriteria.EditUserSysNo);
                }

                cmd.CommandText = sqlBuilder.BuildQuerySql();

                EnumColumnList enumColumnList = new EnumColumnList();
                enumColumnList.Add("MemoStatus", typeof(ShiftRequestMemoStatus));

                var resultData = cmd.ExecuteDataTable(enumColumnList);
                totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount"));
                return(resultData);
            }
        }