public RepositorioDonacion(SqlConnection sqlConnection, IRepositorioDonante Donante, IRepositorioPacientes Paciente, IRepositorioTipoDonaciones TipoDonaciones)
 {
     this._conexion             = sqlConnection;
     _repositorioDonante        = Donante;
     _repositorioPaciente       = Paciente;
     _repositorioTipoDonaciones = TipoDonaciones;
 }
        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 void borrar(int id)
 {
     try
     {
         _conexionBd = new ConexionBd();
         _repo       = new RepositorioPacientes(_conexionBd.AbrirConexion());
         _repo.borrar(id);
         _conexionBd.CerrarConexion();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
 public List <Paciente> GetLista()
 {
     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 lista = _repo.GetLista();
         _conexionBd.CerrarConexion();
         return(lista);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
 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);
     }
 }
        public bool existe(Paciente pacienteEditDto)
        {
            try
            {
                _conexionBd = new ConexionBd();
                _repo       = new RepositorioPacientes(_conexionBd.AbrirConexion());

                Paciente paciente = new Paciente
                {
                    NombrePaciente   = pacienteEditDto.NombrePaciente,
                    ApellidoPaciente = pacienteEditDto.ApellidoPaciente,
                    genero           = new Genero()
                    {
                        GeneroID          = pacienteEditDto.genero.GeneroID,
                        GeneroDescripcion = pacienteEditDto.genero.GeneroDescripcion
                    },
                    documento = new Documento()
                    {
                        TipoDocumentoID = pacienteEditDto.documento.TipoDocumentoID,
                        Descripcion     = pacienteEditDto.documento.Descripcion
                    },
                    NroDocumento = pacienteEditDto.NroDocumento,
                    Direccion    = pacienteEditDto.Direccion,
                    provincia    = new Provincia()
                    {
                        ProvinciaID     = pacienteEditDto.provincia.ProvinciaID,
                        NombreProvincia = pacienteEditDto.provincia.NombreProvincia
                    },
                    localidad = new Localidad
                    {
                        LocalidadID     = pacienteEditDto.localidad.LocalidadID,
                        NombreLocalidad = pacienteEditDto.localidad.NombreLocalidad,
                        provincia       = new Provincia()
                        {
                            ProvinciaID     = pacienteEditDto.provincia.ProvinciaID,
                            NombreProvincia = pacienteEditDto.provincia.NombreProvincia
                        },
                    },
                    TelefonoFijo  = pacienteEditDto.TelefonoFijo,
                    TelefonoMovil = pacienteEditDto.TelefonoMovil,
                    Email         = pacienteEditDto.Email,
                    FechaNac      = pacienteEditDto.FechaNac,
                    tipoSangre    = new TipoSangre()
                    {
                        GrupoSanguineoID = pacienteEditDto.tipoSangre.GrupoSanguineoID,
                        Grupo            = pacienteEditDto.tipoSangre.Grupo,
                        Factor           = pacienteEditDto.tipoSangre.Factor
                    },
                    institucion = new Institucion
                    {
                        InstitucionID = pacienteEditDto.institucion.InstitucionID,
                        Denominacion  = pacienteEditDto.institucion.Denominacion,
                        Direccion     = pacienteEditDto.Direccion,
                        provincia     = new Provincia()
                        {
                            ProvinciaID     = pacienteEditDto.provincia.ProvinciaID,
                            NombreProvincia = pacienteEditDto.provincia.NombreProvincia
                        },
                        localidad = new Localidad
                        {
                            LocalidadID     = pacienteEditDto.localidad.LocalidadID,
                            NombreLocalidad = pacienteEditDto.localidad.NombreLocalidad,
                            provincia       = new Provincia()
                            {
                                ProvinciaID     = pacienteEditDto.provincia.ProvinciaID,
                                NombreProvincia = pacienteEditDto.provincia.NombreProvincia
                            },
                        },
                    },
                    PacienteID = pacienteEditDto.PacienteID
                };
                var existe = _repo.existe(paciente);
                _conexionBd.CerrarConexion();
                return(existe);
            }
            catch (Exception)
            {
                throw new Exception(" error al ver si existe el paciente");
            }
        }