/**
         * Método para actualizar el registro
         */
        public static void update(decimal id, String name, int state, List <modules> modules)
        {
            using (var conn = new db_entities()) {
                try {
                    var entity = conn.roles.Where(x => x.id == id).FirstOrDefault();

                    if (entity == null)
                    {
                        throw new NotExistsException();
                    }
                    else
                    {
                        conn.SP_ROL_UPDATE(id, name, DateTime.Now, state);

                        // removemos los items
                        foreach (roles_modules rm in conn.roles_modules.Where(x => x.rol_id == entity.id).ToList())
                        {
                            conn.roles_modules.Remove(rm);
                        }
                        conn.SaveChanges();

                        // agregamos las actualizaciones
                        foreach (modules item in modules)
                        {
                            conn.SP_ROL_MODULE_INSERT(entity.id, item.id);
                        }
                    }
                } catch (Exception e) {
                    throw e;
                }
            }
        }