Esempio n. 1
0
        public async Task <PageBase <EntityTask> > GetPageTaskAsync(EntityTaskQuery entityTaskQuery)
        {
            var result = new PageBase <EntityTask>
            {
                CurrentPage = entityTaskQuery.CurrentPage,
                PageSize    = entityTaskQuery.PageSize
            };

            var strTotalSql = new StringBuilder();
            var strSql      = new StringBuilder();

            //计算总数
            strTotalSql.Append(@"        
                            SELECT  COUNT(1)
                            FROM    T_Task  where 1=1  ");

            if (!entityTaskQuery.IsAll)
            {
                strTotalSql.Append(" and Status = @isEnable ");
            }
            if (!string.IsNullOrEmpty(entityTaskQuery.Name))
            {
                strTotalSql.Append(" and  Name like @name ");
            }

            //分页信息
            strSql.Append(@";  SELECT 
                               Id ,
                               GroupId ,
                               Name ,
                               CreateAt ,
                               UpdateAt ,
                               TaskType ,
                               RequestVerb ,
                               RequestUrl ,
                               Remark,
                               Description,
                               CronExpress,
                               Status FROM T_Task where 1=1 ");

            if (!entityTaskQuery.IsAll)
            {
                strSql.Append(" and Status=@isEnable ");
            }

            if (!string.IsNullOrEmpty(entityTaskQuery.Name))
            {
                strSql.Append(" and  Name like @name ");
            }


            strSql.Append(@"
                            order by CreateAt desc
                        ");
            strSql.Append(@" limit @startIndex,@pageSize ");

            var paras = new DynamicParameters(new
            {
                isEnable   = entityTaskQuery.TaskStatus,
                name       = "%" + entityTaskQuery.Name + "%",
                startIndex = (entityTaskQuery.CurrentPage - 1) * entityTaskQuery.PageSize,
                pageSize   = entityTaskQuery.PageSize
            });
            var taskRep = GetRepositoryInstance <TableTask>();

            var sqlQuery   = new SqlQuery(strSql.ToString(), paras);
            var listResult = await taskRep.FindAllAsync(sqlQuery);

            result.Items       = Mapper.Map <List <TableTask>, List <EntityTask> >(listResult.AsList());
            result.TotalCounts = taskRep.Connection.ExecuteScalar <int>(strTotalSql.ToString(), paras);
            result.TotalPages  = Convert.ToInt32(Math.Ceiling(result.TotalCounts / (entityTaskQuery.PageSize * 1.0)));
            return(result);
        }
Esempio n. 2
0
        public async Task <ResponseModel> GetPageTaskAsync([FromQuery] EntityTaskQuery entityPageQuery)
        {
            var result = await TaskService.GetPageTaskAsync(entityPageQuery);

            return(Success(result));
        }