Esempio n. 1
0
        public virtual QueryResult QueryLottery(LotteryQueryFilter msg)
        {
            int totalCount;
            var ds = ObjectFactory <ILotteryQueryDA> .Instance.Query(msg, out totalCount);

            return(new QueryResult()
            {
                Data = ds.Tables[0],
                TotalCount = totalCount
            });
        }
Esempio n. 2
0
        public DataSet Query(LotteryQueryFilter filter, out int totalCount)
        {
            PagingInfoEntity pagingEntity = new PagingInfoEntity();

            pagingEntity.SortField     = filter.PagingInfo.SortBy;
            pagingEntity.MaximumRows   = filter.PagingInfo.PageSize;
            pagingEntity.StartRowIndex = filter.PagingInfo.PageIndex * filter.PagingInfo.PageSize;

            var cmd = DataCommandManager.CreateCustomDataCommandFromConfig("GetLotteryList");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, "lr.TransactionNumber DESC"))
            {
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "li.LotteryLabel", DbType.String, "@LotteryLabel",
                                                             QueryConditionOperatorType.LeftLike, filter.LotteryLabel);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "li.Title", DbType.String, "@LotteryTitle",
                                                             QueryConditionOperatorType.Like, filter.LotteryName);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "li.BeginDate", DbType.DateTime, "@BeginDateFrom",
                                                             QueryConditionOperatorType.MoreThanOrEqual,
                                                             filter.BeginDateFrom);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "li.BeginDate", DbType.DateTime, "@BeginDateTo",
                                                             QueryConditionOperatorType.LessThan,
                                                             filter.BeginDateTo);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "li.EndDate", DbType.DateTime, "@EndDateFrom",
                                                             QueryConditionOperatorType.MoreThanOrEqual,
                                                             filter.EndDateFrom);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "li.EndDate", DbType.DateTime, "@EndDateTo",
                                                             QueryConditionOperatorType.LessThan,
                                                             filter.EndDateTo);


                if (filter.IsLucky != null)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "lr.IsLucky",
                        DbType.Int32,
                        "@IsLucky",
                        QueryConditionOperatorType.Equal,
                        filter.IsLucky == NYNStatus.Yes ? 1 : 0);
                }

                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "li.CompanyCode",
                    DbType.AnsiStringFixedLength,
                    "@CompanyCode",
                    QueryConditionOperatorType.Equal,
                    filter.CompanyCode);

                cmd.CommandText = sqlBuilder.BuildQuerySql();
                var ds = cmd.ExecuteDataSet();

                cmd.ConvertEnumColumn(ds.Tables[0], new EnumColumnList {
                    { "IsLucky", typeof(NYNStatus) }
                });
                totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount"));
                return(ds);
            }
        }