public List <Opcion> ListarOpcionPorPerfilYOpcionPadre(int plataformaId, string listaPerfilIdString, int?opcionPadreId = null) { OpcionDa opcionDa = new OpcionDa(); List <Opcion> respuesta = null; try { cn.Open(); respuesta = opcionDa.ListarOpcionPorPerfilYOpcionPadre(plataformaId, listaPerfilIdString, opcionPadreId, cn); if (respuesta != null) { foreach (Opcion item in respuesta) { item.ListaOpcionHijo = ListarOpcionPorPerfilYOpcionPadre(plataformaId, listaPerfilIdString, item.OpcionId); } } cn.Close(); } catch (Exception ex) { respuesta = null; } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(respuesta); }