/// <summary> /// 保存权限 /// </summary> /// <param name="request">请求</param> public async Task SaveAsync(SavePermissionRequest request) { var roleId = request.RoleId.SafeValue(); await PermissionManager.SaveAsync(request.ApplicationId.SafeValue(), roleId, request.ResourceIds.ToGuidList(), request.IsDeny.SafeValue()); await UnitOfWork.CommitAsync(); }
public HttpResponseMessage SavePermission(HttpRequestMessage request, SavePermissionRequest data) { string connectionstring = "server=DESKTOP-I9HJM7B; Database=DuAnWebApi_Angular; uid=DamNgocSon ; pwd =123 ;"; if (ModelState.IsValid) { _permissionService.DeleteAll(data.FunctionId); _permissionService.SaveChange(); Permission permission = null; foreach (var item in data.Permissions) { permission = new Permission(); permission.UpdatePermission(item); permission.FunctionId = data.FunctionId; _permissionService.Add(permission); } var functions = _functionService.GetAllWithParentID(data.FunctionId); if (functions.Any()) { using (SqlConnection conn = new SqlConnection(connectionstring)) { foreach (var item in functions) { conn.Open(); SqlCommand sqlCommand = new SqlCommand("DeletePermissionWithFunctionId", conn); sqlCommand.CommandType = CommandType.StoredProcedure; sqlCommand.ExecuteNonQuery(); conn.Close(); foreach (var p in data.Permissions) { var childPermission = new Permission(); childPermission.FunctionId = item.ID; childPermission.RoleId = p.RoleId; childPermission.CanRead = p.CanRead; childPermission.CanCreate = p.CanCreate; childPermission.CanDelete = p.CanDelete; childPermission.CanUpdate = p.CanUpdate; _permissionService.Add(childPermission); } } } } try { _permissionService.SaveChange(); return(request.CreateResponse(HttpStatusCode.OK, "Lưu quyền thành cống")); } catch (Exception ex) { return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); } } else { return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } }
public HttpResponseMessage SavePermission(HttpRequestMessage request, SavePermissionRequest data) { if (ModelState.IsValid) { _permissionService.DeleteAll(data.FunctionId); Permission permission = null; foreach (var item in data.Permissions) { string[] result = JsonConvert.DeserializeObject<string[]>(item.RoleId); foreach (var role in result) { var roleId = AppRoleManager.Roles.Where(x => x.Name == role.ToString()).FirstOrDefault(); item.RoleId = roleId.Id; permission = new Permission(); permission.UpdatePermission(item); permission.FunctionId = data.FunctionId; _permissionService.Add(permission); } } var functions = _functionService.GetAllWithParentID(data.FunctionId); if (functions.Any()) { foreach (var item in functions) { _permissionService.DeleteAll(item.ID); foreach (var p in data.Permissions) { var childPermission = new Permission(); childPermission.FunctionId = item.ID; childPermission.RoleId = p.RoleId; childPermission.CanRead = p.CanRead; childPermission.CanCreate = p.CanCreate; childPermission.CanDelete = p.CanDelete; childPermission.CanUpdate = p.CanUpdate; _permissionService.Add(childPermission); } } } try { _permissionService.SaveChange(); return request.CreateResponse(HttpStatusCode.OK, "Lưu quyền thành cống"); } catch (Exception ex) { return request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message); } } else { return request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } }
public async Task <IActionResult> SavePermission([FromBody] SavePermissionRequest data) { if (!ModelState.IsValid) { IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors); return(new BadRequestObjectResult(allErrors)); } try { _permissionService.DeleteAll(data.FunctionId); foreach (var item in data.Permissions) { var permissionVm = new PermissionViewModel() { CanCreate = item.CanCreate, CanDelete = item.CanDelete, CanRead = item.CanRead, CanUpdate = item.CanUpdate, RoleId = item.RoleId, FunctionId = data.FunctionId }; _permissionService.Add(permissionVm); } var functions = _functionService.GetAllWithParentId(data.FunctionId); if (functions.Any()) { foreach (var item in functions) { _permissionService.DeleteAll(item.Id); foreach (var p in data.Permissions) { var childPermissionVm = new PermissionViewModel(); childPermissionVm.FunctionId = item.Id; childPermissionVm.RoleId = p.RoleId; childPermissionVm.CanRead = p.CanRead; childPermissionVm.CanCreate = p.CanCreate; childPermissionVm.CanDelete = p.CanDelete; childPermissionVm.CanUpdate = p.CanUpdate; _permissionService.Add(childPermissionVm); } } } _permissionService.SaveChange(); return(new NoContentResult()); } catch (Exception ex) { return(new BadRequestObjectResult(ex.Message)); } }
public HttpResponseMessage SavePermission(HttpRequestMessage request, SavePermissionRequest data) { if (ModelState.IsValid) { _permissionService.DeleteAll(data.FunctionId); Permission permission = null; foreach (var item in data.Permissions) { permission = new Permission(); permission.UpdatePermission(item); permission.FunctionId = data.FunctionId; _permissionService.Add(permission); } var functions = _functionService.GetAllWithParentID(data.FunctionId); if (functions.Any()) { foreach (var item in functions) { if (_permissionService.CheckContaint(item.ID)) { _permissionService.DeleteAll(item.ID); } foreach (var p in data.Permissions) { var childPermission = new Permission(); childPermission.FunctionId = item.ID; childPermission.RoleId = p.RoleId; childPermission.CanRead = p.CanRead; childPermission.CanCreate = p.CanCreate; childPermission.CanDelete = p.CanDelete; childPermission.CanUpdate = p.CanUpdate; _permissionService.Add(childPermission); } } } try { _permissionService.SaveChange(); return(request.CreateResponse(HttpStatusCode.OK, "Lưu quyền thành cống")); } catch (Exception ex) { return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); } } else { return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } }
public HttpResponseMessage SavePermission(HttpRequestMessage request, SavePermissionRequest data) { Func <HttpResponseMessage> func = () => { HttpResponseMessage response = null; if (ModelState.IsValid) { _permissionService.DeleteAll(data.FunctionId); foreach (var item in data.Permissions) { Permission permission = new Permission(); permission.UpdatePermission(item); permission.FunctionId = data.FunctionId; _permissionService.Add(permission); } var functions = _functionService.GetAllWithParentID(data.FunctionId); if (functions.Any()) { foreach (var item in functions) { _permissionService.DeleteAll(item.ID); foreach (var per in data.Permissions) { var permission = new Permission() { FunctionId = item.ID, RoleId = per.RoleId, CanCreate = per.CanCreate, CanRead = per.CanRead, CanDelete = per.CanDelete, CanUpdate = per.CanUpdate, }; _permissionService.Add(permission); } } } _permissionService.SaveChange(); response = request.CreateResponse(HttpStatusCode.OK, "Lưu quyền thành công"); } return(response); }; return(CreateHttpResponse(request, func)); }
public async Task <IActionResult> SavePermission([FromBody] SavePermissionRequest data) { var hasPermission = await _authorizationService.AuthorizeAsync(User, "FUNCTION", Operations.Create); if (hasPermission.Succeeded == false) { return(new BadRequestObjectResult(CommonConstants.Forbidden)); } if (ModelState.IsValid) { _permissionService.DeleteAll(data.FunctionId); foreach (var permissionVm in data.Permissions) { permissionVm.FunctionId = data.FunctionId; Permission permissionDb = new Permission(); permissionDb.UpdatePermission(permissionVm); _permissionService.AddDb(permissionDb); } List <FunctionViewModel> childFunctions = _functionService.GetAllWithParentId(data.FunctionId); if (childFunctions.Count() > 0) { foreach (var childFunction in childFunctions) { _permissionService.DeleteAll(childFunction.Id); foreach (var permissionVm in data.Permissions) { permissionVm.FunctionId = childFunction.Id; Permission permissionDb = new Permission(); permissionDb.UpdatePermission(permissionVm); _permissionService.AddDb(permissionDb); } } } _permissionService.SaveChanges(); return(new OkObjectResult("Success")); } return(new BadRequestObjectResult(ModelState)); }
public APIResult <bool> SavePermissions(SavePermissionRequest request) { using (MainEntities ctx = new MainEntities()) { var deleted = ctx.sec_access_right.Where(a => a.role_id == request.role_id && a.model_name == request.screen); foreach (sec_access_right itm in deleted) { ctx.Entry(itm).State = System.Data.Entity.EntityState.Deleted; } if (deleted.Count() > 0) { ctx.SaveChanges(); } foreach (var m in request.methods) { sec_access_right access = new sec_access_right(); access.method_name = m; access.model_name = request.screen; access.role_id = request.role_id; access.force_filter = ""; ctx.sec_access_right.Add(access); } if (ctx.SaveChanges() > 0) { return(APIResult <bool> .Success(true, "API_SUCCESS")); } } return(APIResult <bool> .Error(ResponseCode.BackendDatabase, "API_ERROR_BAD", false)); }
public async Task <IActionResult> SaveAsync([FromBody] SavePermissionRequest request) { await PermissionService.SaveAsync(request); return(Success()); }