public JsonResult update([FromBody] rolUpdate data) { if (ModelState.IsValid) { try { int res = roles.updateRolPermisos(data); return(Json(new error { request = 0, response = "Rol Creado Exitosamente" })); //retorna la respuesta } catch (Exception e) { return(Json(new error { request = 1, response = e.Message })); //retorna el error } } else { return(Json(new error { request = 1, response = "Datos no validos" })); } } //actualiza el nombre y los permisos del rol
} //crea el rol con sus permisos public int updateRolPermisos(rolUpdate data) { using (var transaccion = context.Database.BeginTransaction()) { try { var oldrol = context.roles.Find(data.rolid); if (oldrol.rol != data.nombre) { oldrol.rol = data.nombre; context.SaveChanges(); } //valiamos si cambio el nombre // hacemos el update del nombre del rol foreach (var permiso in data.permisos) { var oldpermiso = context.roles_permisos.Find(permiso.id); oldpermiso.visualizar = permiso.visualizar; oldpermiso.crear = permiso.crear; oldpermiso.editar = permiso.editar; oldpermiso.borrar = permiso.borrar; oldpermiso.imprimir = permiso.imprimir; context.SaveChanges(); } //actualizo los permisos del rol transaccion.Commit();//se confirma la transaccion return(0); //retornamos 0 no hay error } catch (Exception e) { throw new Exception(e.Message); } } }//actualiza el rol y sus permisos