Example #1
0
 public async Task <IEnumerable <SysMenusResponeModel> > GetModelsAsync(SysMenusRequestModel queryParameter, IEnumerable <string> fields = null)
 {
     using (var conn = DbContext.CreateConnection())
     {
         var strWhere      = GetQuery(queryParameter);
         var strFieldNames = DbContext.GetFieldsToString <SysMenusModel>("b1", fields);
         var dataQuery     = $"SELECT b1_result.*{joinFiles} FROM (SELECT {strFieldNames} FROM {tableName}  b1 WHERE 1=1 {strWhere}) b1_result {joinTable} ORDER BY b1_result.menu_id ASC";//内查询,可以做连接查询 直接join
         return(await conn.QueryAsync <SysMenusResponeModel>(dataQuery, queryParameter));
     }
 }
Example #2
0
 public async Task <IEnumerable <SysMenusModel> > GetCurrentModelsAsync(SysMenusRequestModel queryParameter, IEnumerable <string> fields = null)
 {
     using (var conn = DbContext.CreateConnection())
     {
         var strWhere      = GetQuery(queryParameter);
         var strFieldNames = DbContext.GetFieldsToString <SysMenusModel>("b1", fields);
         var dataQuery     = $"SELECT {strFieldNames} FROM {tableName} b1 WHERE 1=1 {strWhere} ORDER BY b1.menu_id ASC";
         return(await conn.QueryAsync <SysMenusModel>(dataQuery, queryParameter));
     }
 }
Example #3
0
 private string GetQuery(SysMenusRequestModel queryParameter, string table = null)
 {
     switch (table)
     {
     default:
     {
         var sb = new StringBuilder();
         //如果需要模糊查询请处理参数值添加%
         sb.Append(DbContext.GetSqlQueryString <SysMenusModel>(queryParameter));
         return(sb.ToString());
     }
     }
 }
Example #4
0
        public async Task <IActionResult> Post([FromBody] SysMenusRequestModel parameter)
        {
            var apiResult = new ApiResultModel(ErrorCodeType.Success);
            var model     = new SysMenusModel();

            parameter.CloneTo(model);
            if (await sysMenusService.CreateAsync(model))
            {
                return(Created($"{route}/{parameter.menu_id}", apiResult));
            }
            apiResult.Code = ErrorCodeType.PostError;
            return(BadRequest(apiResult));
        }
Example #5
0
        public async Task <IEnumerable <SysMenusResponeModel> > GetModelsAsync(PagingModel pagingModel, SysMenusRequestModel queryParameter, IEnumerable <string> fields = null)
        {
            var strWhere      = GetQuery(queryParameter);
            var strFieldNames = DbContext.GetFieldsToString <SysMenusModel>("b1", fields);
            var querySql      = "SELECT {0} " + $"FROM (SELECT {strFieldNames} FROM {tableName}  b1 WHERE 1=1 {strWhere} ORDER BY menu_id ASC) b1_result {joinTable}";//内查询,可以做连接查询 直接join
            var countQuery    = string.Format(querySql, "COUNT(1)");

            var pagingSql = $" LIMIT {pagingModel.StartIndex()},{pagingModel.PageSize}";//分页
            var dataQuery = string.Format(querySql, $"b1_result.*{joinFiles}") + pagingSql;

            using (var conn = DbContext.CreateConnection())
            {
                pagingModel.TotalCount = await conn.ExecuteScalarAsync <long>(countQuery, queryParameter);

                return(await conn.QueryAsync <SysMenusResponeModel>(dataQuery, queryParameter));
            }
        }
Example #6
0
        public async Task <IActionResult> Get([FromQuery] int oprator, [FromQuery] PagingModel paging, [FromQuery] SysMenusRequestModel queryParameter)
        {
            var apiResult = new ApiResultModel(ErrorCodeType.Success);

            switch (paging.Oprator)
            {
            case 1:
            {
                //获取不分页数据集合
                var data = await sysMenusService.GetModelsAsync(queryParameter);

                apiResult.Result = data;
                return(Ok(apiResult));
            }

            default:
            {
                var data = await sysMenusService.GetModelsAsync(paging, queryParameter);

                apiResult.Result = new
                {
                    paging,
                    data
                };
                return(Ok(apiResult));
            }
            }
        }
Example #7
0
 public async Task <IEnumerable <SysMenusResponeModel> > GetModelsAsync(PagingModel pagingModel, SysMenusRequestModel queryParameter, IEnumerable <string> fields = null)
 {
     return(await sysMenusRepository.GetModelsAsync(pagingModel, queryParameter, fields));
 }
Example #8
0
 public async Task <IEnumerable <SysMenusModel> > GetCurrentModelsAsync(SysMenusRequestModel queryParameter, IEnumerable <string> fields = null)
 {
     return(await sysMenusRepository.GetCurrentModelsAsync(queryParameter, fields));
 }