public async Task <IActionResult> UpdateRole(RoleUpdateRequest request) { //Recupero l'elemento dal business layer var entity = AuthorizationLayer.GetRole(request.RoleId); //modifica solo se admin o se utente richiedente è lo stesso che ha creato if (entity == null) { return(NotFound()); } //Aggiornamento dell'entità entity.Name = request.Name; entity.Description = request.Description; //Salvataggio var validations = await AuthorizationLayer.UpdateRole(entity, PlatformUtils.GetIdentityUserId(User)); if (validations.Count > 0) { return(BadRequest(validations)); } var permissions = AuthorizationLayer.FetchPermissionsOnRole(entity.Id); //Confermo return(Ok(ContractUtils.GenerateContract(entity, permissions))); }