Exemplo n.º 1
0
        public async Task <IActionResult> Post([FromBody] SysRoleMenuAndRequestModel parameter)
        {
            var _now      = DateTime.Now;
            var apiResult = new ApiResultModel(ErrorCodeType.Success);
            var modelList = new List <SysRoleMenuAndModel>();

            foreach (var mid in parameter.menu_id_list)
            {
                modelList.Add(new SysRoleMenuAndModel()
                {
                    rma_id   = StaticConfig.GetId().ToString(),
                    menu_id  = mid,
                    role_id  = parameter.role_id,
                    rma_time = _now
                });
            }
            //先删除,再添加
            await sysRoleMenuAndService.DeleteAsync(new SysRoleMenuAndRequestModel()
            {
                role_id = parameter.role_id
            });

            if (await sysRoleMenuAndService.CreateAsync(modelList.ToArray()))
            {
                return(Created($"{route}/{parameter.rma_id}", apiResult));
            }
            apiResult.Code = ErrorCodeType.PostError;
            return(BadRequest(apiResult));
        }
Exemplo n.º 2
0
 public async Task <IEnumerable <SysRoleMenuAndResponeModel> > GetModelsAsync(SysRoleMenuAndRequestModel queryParameter, IEnumerable <string> fields = null)
 {
     using (var conn = DbContext.CreateConnection())
     {
         var strWhere      = GetQuery(queryParameter);
         var strFieldNames = DbContext.GetFieldsToString <SysRoleMenuAndModel>("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.rma_id ASC";//内查询,可以做连接查询 直接join
         return(await conn.QueryAsync <SysRoleMenuAndResponeModel>(dataQuery, queryParameter));
     }
 }
Exemplo n.º 3
0
 public async Task <IEnumerable <SysRoleMenuAndModel> > GetCurrentModelsAsync(SysRoleMenuAndRequestModel queryParameter, IEnumerable <string> fields = null)
 {
     using (var conn = DbContext.CreateConnection())
     {
         var strWhere      = GetQuery(queryParameter);
         var strFieldNames = DbContext.GetFieldsToString <SysRoleMenuAndModel>("b1", fields);
         var dataQuery     = $"SELECT {strFieldNames} FROM {tableName} b1 WHERE 1=1 {strWhere} ORDER BY b1.rma_id ASC";
         return(await conn.QueryAsync <SysRoleMenuAndModel>(dataQuery, queryParameter));
     }
 }
Exemplo n.º 4
0
 private string GetQuery(SysRoleMenuAndRequestModel queryParameter, string table = null)
 {
     switch (table)
     {
     default:
     {
         var sb = new StringBuilder();
         //如果需要模糊查询请处理参数值添加%
         sb.Append(DbContext.GetSqlQueryString <SysRoleMenuAndModel>(queryParameter));
         return(sb.ToString());
     }
     }
 }
Exemplo n.º 5
0
        public async Task <IEnumerable <SysRoleMenuAndResponeModel> > GetModelsAsync(PagingModel pagingModel, SysRoleMenuAndRequestModel queryParameter, IEnumerable <string> fields = null)
        {
            var strWhere      = GetQuery(queryParameter);
            var strFieldNames = DbContext.GetFieldsToString <SysRoleMenuAndModel>("b1", fields);
            var querySql      = "SELECT {0} " + $"FROM (SELECT {strFieldNames} FROM {tableName}  b1 WHERE 1=1 {strWhere} ORDER BY rma_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 <SysRoleMenuAndResponeModel>(dataQuery, queryParameter));
            }
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Get([FromQuery] int oprator, [FromQuery] PagingModel paging, [FromQuery] SysRoleMenuAndRequestModel queryParameter)
        {
            var apiResult = new ApiResultModel(ErrorCodeType.Success);

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

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

            case 10:
            {
                //菜单导航
                var roleid = UserHttpInfo.GetValueByToken(TokenInfoType.RoleId);
                apiResult.Result = await sysRoleMenuAndService.GetLayoutMenusAsync(roleid);

                return(Ok(apiResult));
            }

            case 11:
            {
                //权限 tree
                apiResult.Result = await sysRoleMenuAndService.GetMenuTreeAsync(queryParameter);

                return(Ok(apiResult));
            }

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

                apiResult.Result = new
                {
                    paging,
                    data
                };
                return(Ok(apiResult));
            }
            }
        }