private Donacion construirdonacion(SqlDataReader reader)
        {
            _genero                    = new RepositorioGeneros(_conexion);
            _documento                 = new RepositorioDocumentos(_conexion);
            _provi                     = new RepositorioProvincias(_conexion);
            _loca                      = new RepositorioLocalidad(_conexion, _provi);
            _insti                     = new RepositorioInstituciones(_conexion, _provi, _loca);
            _tipoSangre                = new RepositorioTipoSangre(_conexion);
            _repositorioDonante        = new RepositorioDonante(_conexion, _provi, _loca, _genero, _documento, _tipoSangre);
            _repositorioPaciente       = new RepositorioPacientes(_conexion, _provi, _loca, _insti, _genero, _documento, _tipoSangre);
            _repositorioTipoDonaciones = new RepositorioTipoDonaciones(_conexion);

            //return new Donacion
            //{
            //    DonacionId = reader.GetInt32(0),
            //    FechaDonacion = reader.GetDateTime(1),
            //    Cantidad=reader.GetInt32(2),
            //    Donante=_repositorioDonante.getDonantePorId(reader.GetInt32(3)),
            //    Paciente=_repositorioPaciente.getPacientePorID(reader.GetInt32(4)),
            //    TipoDonacion=_repositorioTipoDonaciones.getTipoDonacionporID(reader.GetInt32(5))


            //};
            var donacion = new Donacion();

            donacion.DonacionId    = reader.GetInt32(0);
            donacion.FechaDonacion = reader.GetDateTime(1);
            donacion.Cantidad      = reader.GetInt32(2);
            donacion.Donante       = _repositorioDonante.getDonantePorId(reader.GetInt32(3));
            donacion.Paciente      = _repositorioPaciente.getPacientePorID(reader.GetInt32(4));
            donacion.TipoDonacion  = _repositorioTipoDonaciones.getTipoDonacionporID(reader.GetInt32(5));
            donacion.institucion   = _insti.GetInstitucionPorID(reader.GetInt32(6));
            return(donacion);
        }
 public Paciente getPacientePorID(int id)
 {
     try
     {
         _conexionBd               = new ConexionBd();
         _repositorioGeneros       = new RepositorioGeneros(_conexionBd.AbrirConexion());
         _repositorioDocumentos    = new RepositorioDocumentos(_conexionBd.AbrirConexion());
         _repositorioProvincias    = new RepositorioProvincias(_conexionBd.AbrirConexion());
         _repositorioLocalidades   = new RepositorioLocalidad(_conexionBd.AbrirConexion(), _repositorioProvincias);
         _repositorioTipoSangre    = new RepositorioTipoSangre(_conexionBd.AbrirConexion());
         _repositorioInstituciones = new RepositorioInstituciones(_conexionBd.AbrirConexion(), _repositorioProvincias, _repositorioLocalidades);
         _repo = new RepositorioPacientes(_conexionBd.AbrirConexion(), _repositorioProvincias, _repositorioLocalidades, _repositorioInstituciones, _repositorioGeneros, _repositorioDocumentos, _repositorioTipoSangre);
         var cliente = _repo.getPacientePorID(id);
         _conexionBd.CerrarConexion();
         return(cliente);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }