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

            parameter.CloneTo(model);
            if (await sysRolesService.CreateAsync(model))
            {
                return(Created($"{route}/{parameter.role_id}", apiResult));
            }
            apiResult.Code = ErrorCodeType.PostError;
            return(BadRequest(apiResult));
        }
Ejemplo n.º 5
0
        public async Task <IEnumerable <SysRolesResponeModel> > GetModelsAsync(PagingModel pagingModel, SysRolesRequestModel queryParameter, IEnumerable <string> fields = null)
        {
            var strWhere      = GetQuery(queryParameter);
            var strFieldNames = DbContext.GetFieldsToString <SysRolesModel>("b1", fields);
            var querySql      = "SELECT {0} " + $"FROM (SELECT {strFieldNames} FROM {tableName}  b1 WHERE 1=1 {strWhere} ORDER BY role_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 <SysRolesResponeModel>(dataQuery, queryParameter));
            }
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> Get([FromQuery] int oprator, [FromQuery] PagingModel paging, [FromQuery] SysRolesRequestModel queryParameter)
        {
            var apiResult = new ApiResultModel(ErrorCodeType.Success);

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

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

            case 10:
            {
                //角色树
                var data = await sysRolesService.GetCurrentModelsAsync(queryParameter, new string[] { "role_id", "role_name" });

                apiResult.Result = data.Select(a => new { title = a.role_name, id = a.role_id, data = a, spread = true });
                return(Ok(apiResult));
            }

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

                apiResult.Result = new
                {
                    paging,
                    data
                };
                return(Ok(apiResult));
            }
            }
        }
Ejemplo n.º 7
0
 public async Task <IEnumerable <SysRolesResponeModel> > GetModelsAsync(PagingModel pagingModel, SysRolesRequestModel queryParameter, IEnumerable <string> fields = null)
 {
     return(await sysRolesRepository.GetModelsAsync(pagingModel, queryParameter, fields));
 }
Ejemplo n.º 8
0
 public async Task <IEnumerable <SysRolesModel> > GetCurrentModelsAsync(SysRolesRequestModel queryParameter, IEnumerable <string> fields = null)
 {
     return(await sysRolesRepository.GetCurrentModelsAsync(queryParameter, fields));
 }