public async Task <IActionResult> UpdateRolePermissionAsync([FromBody] UpdateRolePermissionViewModel model_) { string roleId = (await _roleManager.FindByNameAsync(model_.RoleName)).Id; Enum.TryParse(model_.PermissionValue, true, out Permission permissionEnumValue); if (model_.Extension == Constants.SoftinuxBaseSecurity && permissionEnumValue != Permission.Admin) { if (await ReadGrants.IsRoleLastAdminPermissionLevelGrantForExtensionAsync(_roleManager, Storage, model_.RoleName, model_.Extension)) { return(StatusCode((int)HttpStatusCode.BadRequest, "Permission not updated, the role is the last Admin grant to SoftinuxBase.Security extension")); } } IRolePermissionRepository repo = Storage.GetRepository <IRolePermissionRepository>(); repo.Delete(roleId, model_.Extension); var permissionEntity = Storage.GetRepository <IPermissionRepository>().Find(permissionEnumValue); repo.Create(new RolePermission { RoleId = roleId, PermissionId = permissionEntity.Id, Extension = model_.Extension }); await Storage.SaveAsync(); return(StatusCode((int)HttpStatusCode.OK)); }
V_2 = Expression.Parameter(Type.GetTypeFromHandle(// // Current member / type: System.Collections.Generic.List`1<Mix.Cms.Lib.ViewModels.MixPortalPageRoles.ReadViewModel> Mix.Cms.Lib.ViewModels.Account.MixRoles.UpdateViewModel::GetPermission() // Exception in: System.Collections.Generic.List<Mix.Cms.Lib.ViewModels.MixPortalPageRoles.ReadViewModel> GetPermission() // Specified method is not supported. // // mailto: [email protected] private async Task<RepositoryResponse<bool>> HandlePermission(UpdateRolePermissionViewModel item, MixCmsContext context, IDbContextTransaction transaction) { V_0.u003cu003e4__this = this; V_0.item = item; V_0.context = context; V_0.transaction = transaction; V_0.u003cu003et__builder = AsyncTaskMethodBuilder<RepositoryResponse<bool>>.Create(); V_0.u003cu003e1__state = -1; V_0.u003cu003et__builder.Start<Mix.Cms.Lib.ViewModels.Account.MixRoles.UpdateViewModel.u003cHandlePermissionu003ed__27>(ref V_0); return V_0.u003cu003et__builder.get_Task(); }
public async Task <IActionResult> UpdateRolePermission(UpdateRolePermissionViewModel m) { await _roleService.UpdateRolePermission(m.RoleId, m.PermissionNames ?? new string[0]); return(Ok()); }