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)); }
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)); } }
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)); } }
private string GetQuery(SysRoleMenuAndRequestModel queryParameter, string table = null) { switch (table) { default: { var sb = new StringBuilder(); //如果需要模糊查询请处理参数值添加% sb.Append(DbContext.GetSqlQueryString <SysRoleMenuAndModel>(queryParameter)); return(sb.ToString()); } } }
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)); } }
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)); } } }