public List <Personas> ObtenerListaDeParejasDisponibles(Personas laPersona)
        {
            OperacionesSobrePersonas operaciones       = new OperacionesSobrePersonas();
            List <Personas>          listaSinVerificar = operaciones.PersonasDisponibles(laPersona);
            List <Personas>          laListaVerificada = new List <Personas>();

            if (listaSinVerificar == null)
            {
                return(new List <Personas>());
            }
            else
            {
                foreach (var i in listaSinVerificar)
                {
                    laListaVerificada.Add(ConsultarLaPersonaPorId(i.Id));
                }
            }


            if (laPersona.IdMadre != 0 && laPersona.IdPadre != 0)
            {
                foreach (var i in laListaVerificada)
                {
                    if (i.IdMadre != 0 || i.IdPadre != 0)
                    {
                        if (ListaRecursivaMadres(i, laPersona) || ListaRecursivaPadres(i, laPersona))
                        {
                            laListaVerificada.Remove(i);
                        }
                    }
                }
            }

            return(laListaVerificada);
        }
        public Personas ConsultarLaPersonaPorId(int Id)
        {
            OperacionesSobrePersonas operaciones = new OperacionesSobrePersonas();
            var laPersona = operaciones.ConsultarLaPersonaPorId(Id);

            laPersona.ListaDeHijos = ListarHijos(laPersona.Id);
            return(laPersona);
        }
        public List <Personas> Listar()
        {
            OperacionesSobrePersonas operaciones = new OperacionesSobrePersonas();
            var laLista = operaciones.Listar();

            foreach (var i in laLista)
            {
                i.ListaDeHijos = ListarHijos(i.Id);
            }
            return(laLista);
        }
        public List <Personas> ListarHijos(int idPersona)
        {
            OperacionesSobrePersonas operaciones = new OperacionesSobrePersonas();
            List <Personas>          sinPadres   = operaciones.CantidadDeHijos(idPersona);
            List <Personas>          lista       = new List <Personas>();

            if (sinPadres == null)
            {
                return(lista);
            }
            foreach (var i in sinPadres)
            {
                lista.Add(ConsultarLaPersonaPorId(i.Id));
            }
            return(lista);
        }
        public int ObtenerLaCantidadDeHijos(int id)
        {
            OperacionesSobrePersonas operaciones = new OperacionesSobrePersonas();

            return(operaciones.CantidadDeHijos(id).Count);
        }
        public void EditarDatosDeLaPersona(Personas laPersona)
        {
            OperacionesSobrePersonas operaciones = new OperacionesSobrePersonas();

            operaciones.EditarDatosDeLaPersona(laPersona);
        }
        public void AgregarPersona(Modelo.Personas laPersona)
        {
            OperacionesSobrePersonas operaciones = new OperacionesSobrePersonas();

            operaciones.AgregarPersona(laPersona);
        }