public EEseguridad.Permisos.Familia ObtenerPAtenteUnaFamiliaComposite(string familia) { ///Obtengo la lista de patentes y familias de una Familia DALseguridad.Permisos.dalComposite dal = new DALseguridad.Permisos.dalComposite(); DataTable dt = new DataTable(); dt = dal.Leer(MPPSeguridad.Permisos.mppComposite.ObtenerRolesDeUnaFamilia(familia)); //Creo la Familia EEseguridad.Permisos.Familia familiaComposite = new Familia(); familiaComposite.nombre = familia; //Obtengo la lista de patentes y familia en String List <string> familias = new List <string>(); familias = MPPSeguridad.Permisos.mppComposite.ListafamiliaString(dt); //Le agrego solo las patentes foreach (string item in familias) { DALseguridad.Permisos.dalComposite dalPatente = new DALseguridad.Permisos.dalComposite(); DataTable dtPatentente = new DataTable(); dtPatentente = dalPatente.Leer(MPPSeguridad.Permisos.mppComposite.VeririfarSiEsUnaPatente(item)); if (dtPatentente.Rows.Count == 0) { } else { EEseguridad.Permisos.Patente patente = new Patente(); patente.nombre = item; familiaComposite.agregarFamilia(patente); } } //Le agrego solo las familias y genero recursividad con esa familia para obtener las patentes y familias foreach (string item in familias) { DALseguridad.Permisos.dalComposite dalFamilia = new DALseguridad.Permisos.dalComposite(); DataTable dtFamilia = new DataTable(); dtFamilia = dalFamilia.Leer(MPPSeguridad.Permisos.mppComposite.VeririfarSiEsUnaFamilia(item)); if (dtFamilia.Rows.Count == 0) { } else { EEseguridad.Permisos.Familia unaFamilia = new Familia(); unaFamilia = ObtenerPAtenteUnaFamiliaComposite(item); familiaComposite.agregarFamilia(unaFamilia); } } return(familiaComposite); }