Exemplo n.º 1
0
        /// <summary>
        /// Registrar en el sistema la descarga de un ATM.
        /// </summary>
        /// <param name="d">Objeto DescargaATM con los datos de la descarga</param>
        public void agregarDescargaATM(ref DescargaATM d)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertDescargaATM");

            _manejador.agregarParametro(comando, "@carga", d.Carga, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@carga_emergencia", d.Carga_emergencia, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@manifiesto", d.Manifiesto, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@cierre", d.Cierre, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@fecha", d.Hora_inicio, SqlDbType.Date);
            _manejador.agregarParametro(comando, "@hora_inicio", d.Hora_inicio, SqlDbType.DateTime);
            _manejador.agregarParametro(comando, "@hora_finalizacion", d.Hora_finalizacion, SqlDbType.DateTime);
            _manejador.agregarParametro(comando, "@hora_diferencia", d.Hora_diferencia, SqlDbType.DateTime);
            _manejador.agregarParametro(comando, "@completa", d.Completa, SqlDbType.Bit);

            try
            {
                d.ID = (int)_manejador.ejecutarEscalar(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDescargaATMRegistro");
            }
        }
        public frmSeleccionManifiestoDescargaATM(DescargaATM descarga)
        {
            InitializeComponent();

            _descarga   = descarga;
            _manifiesto = _descarga.Manifiesto;

            try
            {
                BindingList <ManifiestoATMCarga> manifiestos = new BindingList <ManifiestoATMCarga>();

                dgvManifiestos.AutoGenerateColumns = false;
                dgvManifiestos.DataSource          = manifiestos;

                if (_manifiesto != null)
                {
                    manifiestos.Add(_manifiesto);
                }
            }
            catch (Exception ex)
            {
                this.Close();
                throw ex;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Obtener las descargas del cierre de un cajero de ATM's.
        /// </summary>
        /// <param name="c">Objeto CierreATMs con los datos del cierre del cajero de ATM's</param>
        public void obtenerDescargasATMsCierreATMs(ref CierreATMs c)
        {
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectDescargasATMsCierreATMs");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@cierre", c, SqlDbType.Int);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int      id_descarga   = (int)datareader["ID_Descarga"];
                    DateTime fecha         = (DateTime)datareader["Fecha"];
                    string   observaciones = (string)datareader["Observaciones"];

                    short  id_atm   = (short)datareader["ID_ATM"];
                    short  numero   = (short)datareader["Numero"];
                    string codigo   = (string)datareader["Codigo"];
                    string oficinas = (string)datareader["Oficinas"];

                    ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo, oficinas: oficinas);

                    CargaATM carga = null;

                    if (datareader["ID_Carga"] != DBNull.Value)
                    {
                        int           id_carga       = (int)datareader["ID_Carga"];
                        DateTime      fecha_asignada = (DateTime)datareader["Fecha_Asignada"];
                        TiposCartucho tipo           = (TiposCartucho)datareader["Tipo"];

                        carga = new CargaATM(atm, id: id_carga, fecha_asignada: fecha_asignada, tipo: tipo);
                    }

                    CargaEmergenciaATM carga_emergencia = null;

                    if (datareader["ID_Carga_Emergencia"] != DBNull.Value)
                    {
                        int      id_carga_emergencia = (int)datareader["ID_Carga_Emergencia"];
                        DateTime fecha_carga         = (DateTime)datareader["Fecha"];

                        carga_emergencia = new CargaEmergenciaATM(id: id_carga_emergencia, atm: atm, fecha: fecha_carga);
                    }

                    DescargaATM descarga = new DescargaATM(id: id_descarga, fecha: fecha, cierre: c, carga: carga,
                                                           carga_emergencia: carga_emergencia, observaciones: observaciones);

                    c.agregarDescarga(descarga);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Se agrega una descarga a la lista de descargas.
        /// </summary>
        private void dgvDescargas_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
        {
            for (int contador = 0; contador < e.RowCount; contador++)
            {
                DataGridViewRow fila     = dgvDescargas.Rows[e.RowIndex + contador];
                DescargaATM     descarga = (DescargaATM)fila.DataBoundItem;

                fila.Cells[Cajero.Index].Value = descarga.Cierre.Cajero;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Obtener una lista de las descargas pendientes con determinado marchamo.
        /// </summary>
        /// <param name="m">Número de marchamo buscado</param>
        /// <returns>Lista de descargas pendientes</returns>
        public BindingList <DescargaATM> listarDescargasATMsPendientesPorMarchamoCompletas(string m)
        {
            BindingList <DescargaATM> descargas = new BindingList <DescargaATM>();
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectCargasATMsNoDescargadasPorMarchamosCompletas");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@marchamo", m, SqlDbType.VarChar);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    DateTime      fecha_asignada   = (DateTime)datareader["Fecha_Asignada"];
                    int           id_carga         = (int)datareader["ID_Carga"];
                    TiposCartucho tipo             = (TiposCartucho)datareader["Tipo"];
                    bool          atm_full         = (bool)datareader["ATM_Full"];
                    bool          cartucho_rechazo = (bool)datareader["Cartucho_Rechazo"];
                    bool          ena = (bool)datareader["ENA"];

                    short  id_atm     = (short)datareader["ID_ATM"];
                    short  numero     = (short)datareader["Numero"];
                    string codigo_atm = (string)datareader["Codigo_ATM"];
                    string oficinas   = (string)datareader["Oficinas"];

                    int      id_manifiesto      = (int)datareader["ID_Manifiesto"];
                    string   codigo_manifiesto  = (string)datareader["Codigo_Manifiesto"];
                    string   marchamo           = (string)datareader["Marchamo"];
                    string   marchamo_adicional = (string)datareader["Marchamo_Adicional"];
                    string   bolsa_rechazo      = datareader["Bolsa_Rechazo"] as string;
                    DateTime fecha = (DateTime)datareader["Fecha"];

                    ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo_atm, oficinas: oficinas);
                    ManifiestoATMCarga manifiesto = new ManifiestoATMCarga(codigo_manifiesto, marchamo, fecha, bolsa_rechazo, marchamo_adicional,
                                                                           id: id_manifiesto);
                    CargaATM carga = new CargaATM(atm, id: id_carga, fecha_asignada: fecha_asignada, tipo: tipo,
                                                  atm_full: atm_full, cartucho_rechazo: cartucho_rechazo, ena: ena);

                    DescargaATM descarga = new DescargaATM(manifiesto: manifiesto, carga: carga);

                    descargas.Add(descarga);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }

            return(descargas);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Constructor CargaATM
        /// </summary>
        /// <param name="atm"></param>
        public frmManifiestoGeneral(DescargaATM atm)
        {
            InitializeComponent();
            dgvCargas.AutoGenerateColumns = false;

            _mantenimiento.obtenerTipoCambio(atm.Carga.Fecha_asignada);
            _carga_atm = atm;
            mostrarDatosCargaATM();
            CrearPDFATM();
            frmVisualizarManifiesto formulario = new frmVisualizarManifiesto(_carga_atm);

            formulario.ShowDialog();
        }
Exemplo n.º 7
0
        /// <summary>
        /// Obtener los datos de la descarga de un ATM.
        /// </summary>
        /// <param name="d">Objeto DescargaATM que representa la descarga para la cual se obtienen los datos</param>
        public void obtenerDatosDescargaATM(ref DescargaATM d)
        {
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectDescargaATMDatos");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@descarga", d, SqlDbType.Int);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                if (datareader.Read())
                {
                    DateTime hora_inicio = datareader["Hora_Inicio"] == DBNull.Value ?
                                           DateTime.Today : (DateTime)datareader["Hora_Inicio"];
                    DateTime hora_finalizacion = datareader["Hora_Finalizacion"] == DBNull.Value ?
                                                 DateTime.Today : (DateTime)datareader["Hora_Finalizacion"];
                    DateTime hora_diferencia = datareader["Hora_Diferencia"] == DBNull.Value ?
                                               DateTime.Today : (DateTime)datareader["Hora_Diferencia"];
                    string observaciones = (string)datareader["Observaciones"];

                    ManifiestoATMCarga manifiesto = null;

                    if (datareader["ID_Manifiesto"] != DBNull.Value)
                    {
                        int      id                 = (int)datareader["ID_Manifiesto"];
                        string   codigo             = (string)datareader["Codigo"];
                        string   marchamo           = (string)datareader["Marchamo"];
                        string   marchamo_adicional = (string)datareader["Marchamo_Adicional"];
                        string   bolsa_rechazo      = datareader["Bolsa_Rechazo"] as string;
                        DateTime fecha              = (DateTime)datareader["Fecha"];

                        manifiesto = new ManifiestoATMCarga(codigo, marchamo, fecha, bolsa_rechazo, marchamo_adicional, id: id);
                    }

                    d.Hora_inicio       = hora_inicio;
                    d.Hora_finalizacion = hora_finalizacion;
                    d.Hora_diferencia   = hora_diferencia;
                    d.Observaciones     = observaciones;
                    d.Manifiesto        = manifiesto;
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// Obtener una lista de las descargas de cargas de emergencia pendientes por número de marchamo.
        /// </summary>
        /// <param name="m">Número de marchamo buscado</param>
        /// <returns>Lista descargas pendientes</returns>
        public BindingList <DescargaATM> listarDescargasATMsEmergenciaPendientesPorMarchamo(string m)
        {
            BindingList <DescargaATM> descargas = new BindingList <DescargaATM>();
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectCargasEmergenciaATMsNoDescargadasPorMarchamos");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@marchamo", m, SqlDbType.VarChar);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int      id_carga    = (int)datareader["ID_Carga"];
                    DateTime fecha_carga = (DateTime)datareader["Fecha_Carga"];

                    short  id_atm   = (short)datareader["ID_ATM"];
                    short  numero   = (short)datareader["Numero"];
                    string codigo   = (string)datareader["Codigo_ATM"];
                    string oficinas = (string)datareader["Oficinas"];

                    int      id_manifiesto      = (int)datareader["ID_Manifiesto"];
                    string   codigo_manifiesto  = (string)datareader["Codigo_Manifiesto"];
                    string   marchamo           = (string)datareader["Marchamo"];
                    string   marchamo_adicional = (string)datareader["Marchamo_Adicional"];
                    string   bolsa_rechazo      = datareader["Bolsa_Rechazo"] as string;
                    DateTime fecha_manifiesto   = (DateTime)datareader["Fecha_Manifiesto"];

                    ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo, oficinas: oficinas);
                    ManifiestoATMCarga manifiesto = new ManifiestoATMCarga(codigo_manifiesto, marchamo, fecha_manifiesto, bolsa_rechazo, marchamo_adicional,
                                                                           id: id_manifiesto);
                    CargaEmergenciaATM carga = new CargaEmergenciaATM(id: id_carga, atm: atm, fecha: fecha_carga);

                    DescargaATM descarga = new DescargaATM(manifiesto: manifiesto, carga_emergencia: carga);

                    descargas.Add(descarga);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }

            return(descargas);
        }
Exemplo n.º 9
0
        /// <summary>
        /// Se selecciona una descarga de la lista de descargas pendientes.
        /// </summary>
        private void dgvDescargasPendientes_SelectionChanged(object sender, EventArgs e)
        {
            if (dgvDescargasPendientes.SelectedRows.Count > 0)
            {
                DescargaATM descarga = (DescargaATM)dgvDescargasPendientes.SelectedRows[0].DataBoundItem;

                dgvMontosCarga.DataSource = descarga.Cartuchos;

                btnAceptar.Enabled = true;
            }
            else
            {
                btnAceptar.Enabled = false;
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Devuelve una Carga de ATM
        /// </summary>
        /// <param name="d">Objeto DescargaATM que contiene la CargaATM</param>
        public void actualizarDevoluciones(ref DescargaATM d)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("UpdateCargaATMDevolucion");

            _manejador.agregarParametro(comando, "@carga", d.Carga.ID, SqlDbType.Int);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDescargaATMActualizacion");
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// Eliminar los datos de una descarga de un ATM.
        /// </summary>
        /// <param name="d">Objeto DescargaATM con los datos de la descarga</param>
        public void eliminarDescargaATM(DescargaATM d)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("DeleteDescargaATM");

            _manejador.agregarParametro(comando, "@descarga", d, SqlDbType.Int);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDescargaATMEliminacion");
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// Genera el manifiesto digital con las descargas realizadas
        /// </summary>
        private void btnManifiestoGeneral_Click(object sender, EventArgs e)
        {
            try
            {
                DescargaATM descarga = (DescargaATM)dgvDescargas.SelectedRows[0].DataBoundItem;



                frmManifiestoGeneral formulario = new frmManifiestoGeneral(descarga);
                formulario.ShowDialog();
                // formulario.mostrarDatosCargaATM();
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }
Exemplo n.º 13
0
        ///////////////////////////////////////////////DESCARGAS COMPLETAS /////////////////////////////////////////////////////////

        /// <summary>
        /// Obtener una lista de las descargas pendientes.
        /// </summary>
        /// <returns>Lista de descargas no descargadas</returns>
        public BindingList <DescargaATM> listarDescargasATMsPendientesCompletas()
        {
            BindingList <DescargaATM> descargas = new BindingList <DescargaATM>();
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectCargasATMsNoDescargadasCompletas");
            SqlDataReader datareader = null;

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int           id_carga         = (int)datareader["ID_Carga"];
                    DateTime      fecha_asignada   = (DateTime)datareader["Fecha_Asignada"];
                    TiposCartucho tipo             = (TiposCartucho)datareader["Tipo"];
                    bool          atm_full         = (bool)datareader["ATM_Full"];
                    bool          cartucho_rechazo = (bool)datareader["Cartucho_Rechazo"];
                    bool          ena = (bool)datareader["ENA"];

                    short  id_atm     = (short)datareader["ID_ATM"];
                    short  numero     = (short)datareader["Numero"];
                    string codigo_atm = (string)datareader["Codigo"];
                    string oficinas   = (string)datareader["Oficinas"];

                    ATM      atm   = new ATM(id: id_atm, numero: numero, codigo: codigo_atm, oficinas: oficinas);
                    CargaATM carga = new CargaATM(atm, id: id_carga, fecha_asignada: fecha_asignada, tipo: tipo,
                                                  atm_full: atm_full, cartucho_rechazo: cartucho_rechazo, ena: ena);

                    DescargaATM descarga = new DescargaATM(carga: carga);

                    descargas.Add(descarga);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }

            return(descargas);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Obtener los rechazos de una descarga de un ATM.
        /// </summary>
        /// <param name="d">Objeto DescargaATM con los datos de la descarga</param>
        public void obtenerRechazosDescargaATM(ref DescargaATM d)
        {
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectRechazosDescargaATM");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@descarga", d, SqlDbType.Int);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int   id_rechazo_descarga = (int)datareader["ID_Rechazo_Descarga"];
                    short cantidad_descarga   = (short)datareader["Cantidad_Descarga"];

                    byte    id_denominacion = (byte)datareader["ID_Denominacion"];
                    decimal valor           = (decimal)datareader["Valor"];
                    Monedas moneda          = (Monedas)datareader["Moneda"];
                    string  codigo          = (string)datareader["Codigo"];
                    bool    bolsa           = false;

                    if (datareader["Bolsa"] != DBNull.Value)
                    {
                        bolsa = (bool)datareader["Bolsa"];
                    }


                    Denominacion denominacion = new Denominacion(id: id_denominacion, valor: valor, moneda: moneda, codigo: codigo);

                    RechazoDescargaATM rechazo = new RechazoDescargaATM(denominacion, id: id_rechazo_descarga, cantidad_descarga: cantidad_descarga, bolsa: bolsa);

                    d.agregarRechazo(rechazo);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }
        }
Exemplo n.º 15
0
        /// <summary>
        /// Registrar en el sistema el rechazo de una descarga.
        /// </summary>
        /// <param name="r">Objeto RechazoDescargaATM con los datos del rechazo</param>
        /// <param name="d">Descarga a la que pertenece el contador</param>
        public void agregarRechazoDescargaATM(ref RechazoDescargaATM r, DescargaATM d, bool bolsa)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertDescargaATMRechazo");

            _manejador.agregarParametro(comando, "@denominacion", r.Denominacion, SqlDbType.TinyInt);
            _manejador.agregarParametro(comando, "@bolsa", bolsa, SqlDbType.Bit);
            _manejador.agregarParametro(comando, "@descarga", d, SqlDbType.Int);

            try
            {
                r.ID = (int)_manejador.ejecutarEscalar(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorRechazoDescargaATMRegistro");
            }
        }
Exemplo n.º 16
0
        /// <summary>
        /// Registrar en el sistema el contador de una descarga.
        /// </summary>
        /// <param name="c">Objeto ContadorDescargaATM con los datos del contador</param>
        /// <param name="d">Descarga a la que pertenece el contador</param>
        public void agregarContadorDescargaATM(ref ContadorDescargaATM c, DescargaATM d)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertDescargaATMContador");

            _manejador.agregarParametro(comando, "@denominacion", c.Denominacion, SqlDbType.TinyInt);
            _manejador.agregarParametro(comando, "@descarga", d, SqlDbType.Int);

            // Para Contadores Automaticos agregar los atributos de dispensado y remanente por contador.

            try
            {
                c.ID = (int)_manejador.ejecutarEscalar(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorContadorDescargaATMRegistro");
            }
        }
Exemplo n.º 17
0
        /// <summary>
        /// Clic en el botón de aceptar.
        /// </summary>
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                frmRegistroCierreATMs padre    = (frmRegistroCierreATMs)this.Owner;
                DescargaATM           descarga = (DescargaATM)dgvDescargasPendientes.SelectedRows[0].DataBoundItem;

                descarga.Cierre = _cierre;
                descarga.recalcularDetalles();

                _coordinacion.agregarDescargaATM(ref descarga);

                padre.agregarDescarga(descarga);

                this.Close();
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }
Exemplo n.º 18
0
        /// <summary>
        /// Obtener una lista de las descargas de cargas emergencia pendientes.
        /// </summary>
        /// <returns>Lista de descargas pendientes</returns>
        public BindingList <DescargaATM> listarDescargasATMsEmergenciaPendientesCompletas()
        {
            BindingList <DescargaATM> descargas = new BindingList <DescargaATM>();
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectCargasEmergenciaATMsNoDescargadasCompletas");
            SqlDataReader datareader = null;

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int      id_carga = (int)datareader["ID_Carga"];
                    DateTime fecha    = (DateTime)datareader["Fecha"];

                    short  id_atm   = (short)datareader["ID_ATM"];
                    short  numero   = (short)datareader["Numero"];
                    string codigo   = (string)datareader["Codigo"];
                    string oficinas = (string)datareader["Oficinas"];

                    ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo, oficinas: oficinas);
                    CargaEmergenciaATM carga = new CargaEmergenciaATM(id: id_carga, atm: atm, fecha: fecha);

                    DescargaATM descarga = new DescargaATM(carga_emergencia: carga);

                    descargas.Add(descarga);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }

            return(descargas);
        }
Exemplo n.º 19
0
        /// <summary>
        /// Actualizar los datos de la descarga de un ATM.
        /// </summary>
        /// <param name="d">Objeto DescargaATM con los datos de la descarga</param>
        public void actualizarDescargaATM(DescargaATM d)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("UpdateDescargaATM");

            _manejador.agregarParametro(comando, "@manifiesto", d.Manifiesto, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@fecha", d.Fecha, SqlDbType.Date);
            _manejador.agregarParametro(comando, "@hora_inicio", d.Hora_inicio, SqlDbType.DateTime);
            _manejador.agregarParametro(comando, "@hora_finalizacion", d.Hora_finalizacion, SqlDbType.DateTime);
            _manejador.agregarParametro(comando, "@hora_diferencia", d.Hora_diferencia, SqlDbType.DateTime);
            _manejador.agregarParametro(comando, "@observaciones", d.Observaciones, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@descarga", d, SqlDbType.Int);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDescargaATMActualizacion");
            }
        }
Exemplo n.º 20
0
 /// <summary>
 /// Quitar una descarga del cierre.
 /// </summary>
 /// <param name="descarga">Descarga a quitar</param>
 public void quitarDescarga(DescargaATM descarga)
 {
     _descargas.Remove(descarga);
 }
Exemplo n.º 21
0
        /// <summary>
        /// Crea PDF para las Cargas ATM
        /// </summary>
        /// <param name="carga">Objeto CargaATM con los datos de la Carga del ATM</param>
        public void CrearPDFATM()                  //Abre crear PDF ATM
        {
            mostrarDatosCargaATM();

            DescargaATM carga      = _carga_atm;
            DateTime    hoy        = DateTime.Today;
            string      actual     = hoy.ToString("dd/MM/yyyy");
            string      destinopdf = @"\\10.120.131.100\Manifiestos\ATM-" + _carga_atm.Manifiesto + ".pdf"; //DEFINE NOMBRE Y UBICACION DEL PDF QUE SE DESEA CREAR
            Stream      output     = new FileStream(destinopdf, FileMode.Create, FileAccess.Write);
            string      plantilla  = @"\\10.120.131.100\Releases\manifiesto5.pdf";                          //DEFINE LA UBICACION Y EL NOMBRE DE LA PLANTILLA A USAR

            PdfReader  readerBicycle = null;
            Document   documento     = new Document();
            FileStream theFile       = new FileStream(plantilla, FileMode.Open, FileAccess.Read);
            PdfWriter  writer        = PdfWriter.GetInstance(documento, output);

            documento.Open();
            readerBicycle = new PdfReader(theFile);
            PdfTemplate background = writer.GetImportedPage(readerBicycle, 1);

            documento.NewPage();



            iTextSharp.text.Image pic = iTextSharp.text.Image.GetInstance(@"\\10.120.9.20\Blindados\Firmas\atencionsucursales-tripulacion1352-colaboradorrecibe228-colaboradorentrega135-fecha20140715.jpg");

            //iTextSharp.text.Image.GetInstance(@"\\10.120.9.20\Blindados\Firmas\atencionsucursales-tripulacion"+carga.Carga.Tripulacion.ID.ToString()+
            //"-colaboradorrecibe"+carga.Carga.Tripulacion.Portavalor.ID.ToString()+"-colaboradorentrega135-fecha"+carga.Fecha.Year.ToString()+carga.Fecha.Month.ToString()+carga.Fecha.Day.ToString()+".jpg");

            iTextSharp.text.Image pic2 = iTextSharp.text.Image.GetInstance(@"\\10.120.9.20\Blindados\Firmas\atencionsucursales-tripulacion1352-colaboradorrecibe228-colaboradorentrega135-fecha20140715.jpg");

            iTextSharp.text.Image pic3 = iTextSharp.text.Image.GetInstance(@"\\10.120.9.20\Blindados\Firmas\atencionsucursales-tripulacion1352-colaboradorrecibe228-colaboradorentrega135-fecha20140715.jpg");


            //pic.RotationDegrees = 90;
            //pic2.RotationDegrees = 90;
            //pic3.RotationDegrees = 90;

            _pcb = writer.DirectContentUnder;
            _pcb.AddTemplate(background, 0, 0);
            _pcb = writer.DirectContent;
            _pcb.BeginText();


            pic.ScaleAbsolute(75, 45);
            pic.SetAbsolutePosition(440, 462);
            documento.Add(pic);


            pic2.ScaleAbsolute(75, 45);
            pic2.SetAbsolutePosition(442, 357);
            documento.Add(pic2);


            pic3.ScaleAbsolute(75, 35);
            pic3.SetAbsolutePosition(442, 157);
            documento.Add(pic3);

            //pic.ScaleAbsolute(25, 20);
            //pic.SetAbsolutePosition(500, 384);
            //documento.Add(pic);



            SetFontBarCode(8);                                         //ESTABLECE LA FUENTE E IMPRIME CON LA FUENTE BARCODE HASTA SER CAMBIADA
            PrintText("*" + carga.Manifiesto.Codigo + "*", 335, 561);  //Imprime codigo de barras
            SetFont(6);
            PrintText("No: ATM-" + carga.Manifiesto.Codigo, 335, 545); //Imprime numero de manifiesto
            SetFont(8);                                                //CAMBIAMOS LA FUENTE

            montoLetrasPdf(montoenletras);                             //Imprime monto total en letras y valida el tamaño

            PrintText(_tipocambio.Venta.ToString("N2"), 311, 525);     //Imprime tipo de cambio
            PrintText(carga.Cartuchos.Count.ToString(), 360, 525);     //Cantidad depositos
            PrintText("1", 440, 517);                                  //Imprime cantidad de manifiestos

            //LADO IZQUIERDO

            PrintText("ATM", 90, 490);                                           //Origen de los fondos
            PrintText("BAC San José", 184, 60);                                  //Recibido de
            PrintText("Centro de Dist. Cipreses", 59, 465);                      //Direccion
            PrintText("CURRIDABAT", 44, 416);                                    //Ciudad
            PrintText("SAN JOSE", 175, 417);                                     //Provincia
            PrintText(carga.Carga.Cajero.ToString(), 19, 384);                   //Nombre de Persona que preparó cargamento
            PrintText(carga.Carga.Fecha_asignada.ToShortDateString(), 230, 384); //Fecha de Entrega
            if (carga.Carga.Tripulacion != null)
            {
                PrintText(carga.Carga.Tripulacion.Portavalor.ToString(), 52, 354); //Entregado a
            }
            else
            {
                PrintText("", 52, 354);
            }
            PrintText(carga.ATM.Oficinas, 223, 354);        //Oficinas
            PrintText("Centro de Dist. Cipreses", 45, 330); //Direccion
            PrintText("CURRIDABAT", 46, 306);               //CIUDAD
            PrintText("SAN JOSE", 178, 307);                //Provincia


            //MARCHAMOS BT BULTOS Y MONTO

            PrintText(carga.Carga.Manifiesto.Codigo, 362, 77); //Provincia

            //int bultos = 0;
            //if (carga.Cartuchos.Count > 5)
            //{
            int fila = 155;

            if (carga.Carga.Monto_asignado_colones > 0)
            {
                PrintText(("CRC " + carga.Carga.Monto_asignado_colones.ToString("N2")), 148, fila); /*MONTO colones*/
                PrintText("1", 86, fila);                                                           /*BULTOS*/
                PrintText("B", 110, fila);                                                          /*BT*/
                PrintText(carga.Manifiesto.Marchamo, 20, fila);                                     /*BT*/
                fila = fila - 20;
            }
            if (carga.Carga.Monto_asignado_dolares > 0)
            {
                PrintText(("USD " + carga.Carga.Monto_asignado_dolares.ToString("N2")), 246, fila); /*MONTO dolares*/
                PrintText("1", 111, fila);                                                          /*BULTOS*/
                PrintText("B", 85, fila);                                                           /*BT*/
                PrintText(carga.Manifiesto.Marchamo, 20, fila);                                     /*BT*/
                fila = fila - 20;
            }
            if (carga.Carga.Monto_asignado_euros > 0)
            {
                PrintText(("EUR " + carga.Carga.Monto_asignado_euros.ToString("N2")), fila, 226); /*MONTO Euros*/
                PrintText("1", 114, fila);                                                        /*BULTOS*/
                PrintText("B", 85, fila);                                                         /*BT*/
                PrintText(carga.Manifiesto.Marchamo, 20, fila);                                   /*BT*/
            }

            PrintText(lblGranTotal.Text, 149, 35);

            //LADO DERECHO
            if (carga.Carga.Tripulacion != null)
            {
                PrintText(carga.Carga.ColaboradorRecibidoBoveda.ToString(), 303, 486);   //Nombre portavalor recibe
            }
            else
            {
                PrintText("", 303, 486);                      //Nombre portavalor recibe
            }
            PrintText(carga.Carga.Ruta.ToString(), 361, 460); //Ruta
            PrintText(lblcantBultos.Text, 311, 460);
            PrintText(carga.Carga.Hora_Llegada.ToShortTimeString(), 305, 411);
            PrintText(carga.Carga.Hora_Salida.ToShortTimeString(), 358, 411);
            PrintText(carga.Carga.Fecha_asignada.ToShortDateString(), 333, 437); //Fecha
            PrintText(lblPortavalorRuta.Text, 306, 375);                         //Responsable Ruta

            PrintText(carga.ATM.Numero.ToString(), 304, 350);                    //Numero de ATM

            if (carga.ATM.Full)
            {
                PrintText("X", 365, 325); // x de normal
            }
            else
            {
                PrintText("X", 306, 325);                                                //x de full
            }
            PrintText(("CRC " + carga.Monto_descarga_colones.ToString("N2")), 311, 312); //monto descarga colones
            PrintText(("USD " + carga.Monto_descarga_dolares.ToString("N2")), 318, 300); //monto descarga dolares
            PrintText(carga.Manifiesto.Bolsa_rechazo, 313, 252);                         //Numero de marchamo de rechazo
            PrintText(lblComentario.Text, 311, 230);


            if (carga.ATM.Full)
            {
                PrintText(carga.Carga.Manifiesto_full.Marchamo, 379, 499); //monto descarga dolares
            }
            else
            {
                PrintText(carga.Manifiesto.Marchamo_adicional, 379, 499);// marchamo adicional
            }
            _pcb.EndText();
            writer.Flush();

            if (readerBicycle == null)
            {
                readerBicycle.Close();
            }
            documento.Close();
        }              //Cierra crear PDF ATM
Exemplo n.º 22
0
        /// <summary>
        /// Imprimir los datos de una descarga.
        /// </summary>
        private void imprimirDescarga()
        {
            try
            {
                DocumentoExcel documento = new DocumentoExcel(Application.StartupPath + "\\Plantillas\\plantilla descarga.xlt", true);
                DescargaATM    descarga  = (DescargaATM)dgvDescargas.SelectedRows[0].DataBoundItem;
                CierreATMs     cierre    = descarga.Cierre;

                // Escribir los valores generales

                documento.seleccionarHoja(1);

                string fecha = cierre.Fecha.ToShortDateString();

                documento.seleccionarCelda("B8");
                documento.actualizarValorCelda(fecha);

                documento.seleccionarCelda("D8");
                documento.actualizarValorCelda(cierre.Camara.Identificador);

                documento.seleccionarCelda("A45");
                documento.actualizarValorCelda(cierre.Cajero.ToString() + " " + fecha);

                documento.seleccionarCelda("E45");
                documento.actualizarValorCelda(cierre.Coordinador.ToString() + " " + fecha);

                // Escribir los valores de la descarga

                documento.seleccionarCelda("B9");
                documento.actualizarValorCelda(descarga.Hora_inicio.ToShortTimeString());

                documento.seleccionarCelda("D9");
                documento.actualizarValorCelda(descarga.Hora_finalizacion.ToShortTimeString());

                documento.seleccionarCelda("B10");
                documento.actualizarValorCelda(descarga.ATM.Numero);

                documento.seleccionarCelda("D10");
                documento.actualizarValorCelda(descarga.ATM.Codigo);

                documento.seleccionarCelda("B11");
                documento.actualizarValorCelda(Enum.GetName(typeof(TiposCartucho), descarga.Tipo));

                // Mostrar los datos del manifiesto

                documento.seleccionarCelda("F37");
                documento.actualizarValorCelda(descarga.Codigo_manifiesto);

                documento.seleccionarCelda("F39");
                documento.actualizarValorCelda(descarga.Codigo_marchamo);

                // Imprimir los montos descargados

                this.escribirValoresCartuchoImpresion(documento, descarga.Cartuchos_Colones, 15);
                this.escribirValoresCartuchoImpresion(documento, descarga.Cartuchos_Dolares, 34);

                // Imprimir los montos de los rechazos

                this.escribirValoresRechazoImpresion(documento, descarga.Rechazos_Colones, 23);
                this.escribirValoresRechazoImpresion(documento, descarga.Rechazos_Dolares, 35);

                // Imprimir los montos de los contadores

                this.escribirValoresContadorImpresion(documento, descarga.Contadores_Colones, 55);
                this.escribirValoresContadorImpresion(documento, descarga.Contadores_Dolares, 66);

                // Imprimir los montos de carga

                this.escribirValoresCargaImpresion(documento, descarga.Cartuchos_Colones, 96);
                this.escribirValoresCargaImpresion(documento, descarga.Cartuchos_Dolares, 111);

                // Imprimir las denominaciones de las diferencias

                this.escribirValoresDiferenciaImpresion(documento, descarga.Detalles_Colones, 77);
                this.escribirValoresDiferenciaImpresion(documento, descarga.Detalles_Dolares, 89);
                this.escribirValoresDiferenciaImpresion(documento, descarga.Detalles_Colones, 121);
                this.escribirValoresDiferenciaImpresion(documento, descarga.Detalles_Dolares, 133);

                // Mostrar el archivo

                documento.mostrar();
                documento.cerrar();
            }
            catch (Exception)
            {
                Excepcion.mostrarMensaje("ErrorExcel");
            }
        }
Exemplo n.º 23
0
        /// <summary>
        /// Obtener los contadores de una descarga de un ATM.
        /// </summary>
        /// <param name="d">Objeto DescargaATM con los datos de la descarga</param>
        public void obtenerContadoresDescargaATM(ref DescargaATM d)
        {
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectContadoresDescargaATM");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@descarga", d, SqlDbType.Int);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int   id_contador_descarga  = (int)datareader["ID_Contador_Descarga"];
                    short cantidad_dispensada_a = (short)datareader["Cantidad_Dispensada_A"];
                    short cantidad_remanente_a  = (short)datareader["Cantidad_Remanente_A"];
                    short cantidad_dispensada_b = (short)datareader["Cantidad_Dispensada_B"];
                    short cantidad_remanente_b  = (short)datareader["Cantidad_Remanente_B"];
                    short cantidad_dispensada_c = (short)datareader["Cantidad_Dispensada_C"];
                    short cantidad_remanente_c  = (short)datareader["Cantidad_Remanente_C"];

                    short cantidad_remanente_bolsa     = 0;
                    short cantidad_dispensado_bolsa    = 0;
                    short cantidad_remanente_cartucho  = 0;
                    short cantidad_dispensado_cartucho = 0;

                    if (datareader["Cantidad_Dispensada_CartuchoRechazo"] != DBNull.Value)
                    {
                        cantidad_dispensado_cartucho = (short)datareader["Cantidad_Dispensada_CartuchoRechazo"];
                    }

                    if (datareader["Cantidad_Dispensanda_Bolsa_Rechazo"] != DBNull.Value)
                    {
                        cantidad_dispensado_bolsa = (short)datareader["Cantidad_Dispensanda_Bolsa_Rechazo"];
                    }


                    if (datareader["Cantidad_Remanente_CartuchoRechazo"] != DBNull.Value)
                    {
                        cantidad_remanente_cartucho = (short)datareader["Cantidad_Remanente_CartuchoRechazo"];
                    }

                    if (datareader["Cantidad_Remanente_BolsaRechazo"] != DBNull.Value)
                    {
                        cantidad_remanente_bolsa = (short)datareader["Cantidad_Remanente_BolsaRechazo"];
                    }

                    byte    id_denominacion = (byte)datareader["ID_Denominacion"];
                    decimal valor           = (decimal)datareader["Valor"];
                    Monedas moneda          = (Monedas)datareader["Moneda"];
                    string  codigo          = (string)datareader["Codigo"];

                    Denominacion denominacion = new Denominacion(id: id_denominacion, valor: valor, moneda: moneda, codigo: codigo);

                    ContadorDescargaATM contador = new ContadorDescargaATM(denominacion, id: id_contador_descarga,
                                                                           cantidad_dispensada_a: cantidad_dispensada_a,
                                                                           cantidad_remanente_a: cantidad_remanente_a,
                                                                           cantidad_dispensada_b: cantidad_dispensada_b,
                                                                           cantidad_remanente_b: cantidad_remanente_b,
                                                                           cantidad_dispensada_c: cantidad_dispensada_c,
                                                                           cantidad_remanente_c: cantidad_remanente_c,
                                                                           cantidad_dispensada_cartucho_rechazo: cantidad_dispensado_cartucho,
                                                                           cantidad_dispensada_bolsa_rechazo: cantidad_dispensado_bolsa,
                                                                           cantidad_remanente_cartucho_rechazo: cantidad_remanente_cartucho,
                                                                           cantidad_remanente_bolsa_rechazo: cantidad_remanente_bolsa);

                    d.agregarContador(contador);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }
        }
Exemplo n.º 24
0
        public frmVisualizarManifiesto(DescargaATM carga)
        {
            InitializeComponent();

            axAcroPDF1.src = @"\\10.120.131.100\Manifiestos\ATM-" + carga.Manifiesto + ".pdf";
        }
Exemplo n.º 25
0
 /// <summary>
 /// Agregar una descarga al cierre.
 /// </summary>
 /// <param name="descarga">Descarga a agregar</param>
 public void agregarDescarga(DescargaATM descarga)
 {
     _descargas.Add(descarga);
 }
Exemplo n.º 26
0
        /// <summary>
        /// Listar las descargas por fecha, cajero, ruta y ATM.
        /// </summary>
        /// <param name="c">Objeto Colaborador con los datos del cajero de ATM's para el cual se genera la lista</param>
        /// <param name="a">Objeto ATM con los datos del ATM para el cual se genera la lista</param>
        /// <param name="r">Ruta de las descargas que se listarán</param>
        /// <param name="f">Fecha de procesamiento de las descargas que se listarán</param>
        /// <returns>Lista de descargas que cumplen con los parámetros</returns>
        public BindingList <DescargaATM> listarDescargasATMs(Colaborador c, ATM a, DateTime f, byte?r)
        {
            BindingList <DescargaATM> descargas = new BindingList <DescargaATM>();
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectDescargasATMsMonitoreo");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@cajero", c, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@atm", a, SqlDbType.SmallInt);
            _manejador.agregarParametro(comando, "@fecha", f, SqlDbType.Date);
            _manejador.agregarParametro(comando, "@ruta", r, SqlDbType.TinyInt);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int id_descarga = (int)datareader["ID_Descarga"];

                    short  id_atm   = (short)datareader["ID_ATM"];
                    short  numero   = (short)datareader["Numero"];
                    string codigo   = (string)datareader["Codigo"];
                    string oficinas = (string)datareader["Oficinas"];

                    ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo, oficinas: oficinas);

                    int    id_cajero               = (int)datareader["ID_Cajero_Descarga"];
                    string nombre_cajero           = (string)datareader["Nombre_Cajero_Descarga"];
                    string primer_apellido_cajero  = (string)datareader["Primer_Apellido_Cajero_Descarga"];
                    string segundo_apellido_cajero = (string)datareader["Segundo_Apellido_Cajero_Descarga"];

                    Colaborador cajero_descarga = new Colaborador(id_cajero, nombre_cajero, primer_apellido_cajero,
                                                                  segundo_apellido_cajero);

                    int    id_coordinador               = (int)datareader["ID_Cajero_Descarga"];
                    string nombre_coordinador           = (string)datareader["Nombre_Cajero_Descarga"];
                    string primer_apellido_coordinador  = (string)datareader["Primer_Apellido_Cajero_Descarga"];
                    string segundo_apellido_coordinador = (string)datareader["Segundo_Apellido_Cajero_Descarga"];

                    Colaborador coordinador = new Colaborador(id_coordinador, nombre_coordinador, primer_apellido_coordinador,
                                                              segundo_apellido_coordinador);



                    byte   id_camara     = 0;
                    string identificador = "";

                    if (datareader["ID_Camara"] != DBNull.Value)
                    {
                        id_camara     = (byte)datareader["ID_Camara"];
                        identificador = (string)datareader["Identificador"];
                    }



                    Camara camara = new Camara(identificador, id: id_camara);

                    int      id_cierre = (int)datareader["ID_cierre"];
                    DateTime fecha     = (DateTime)datareader["Fecha_Cierre"];

                    CierreATMs cierre = new CierreATMs(cajero_descarga, id: id_cierre, coordinador: coordinador, fecha: fecha, camara: camara);

                    Colaborador cajero_carga = null;

                    if (datareader["ID_Cajero_Carga"] != DBNull.Value)
                    {
                        int    id_cajero_carga               = (int)datareader["ID_Cajero_Carga"];
                        string nombre_cajero_carga           = (string)datareader["Nombre_Cajero_Carga"];
                        string primer_apellido_cajero_carga  = (string)datareader["Primer_Apellido_Cajero_Carga"];
                        string segundo_apellido_cajero_carga = (string)datareader["Segundo_Apellido_Cajero_Carga"];

                        cajero_carga = new Colaborador(id_cajero_carga, nombre_cajero_carga, primer_apellido_cajero_carga,
                                                       segundo_apellido_cajero_carga);
                    }



                    Tripulacion tripulacion = null;

                    if (datareader["ID_Tripulacion"] != DBNull.Value)
                    {
                        short  id_tripulacion = (short)datareader["ID_Tripulacion"];
                        string descripcion    = (string)datareader["Descripcion_Tripulacion"];



                        int    id_chofer               = (int)datareader["ID_Chofer"];
                        string nombre_chofer           = (string)datareader["Nombre_Chofer"];
                        string primer_apellido_chofer  = (string)datareader["PrimerApellido_Chofer"];
                        string segundo_apellido_chofer = (string)datareader["SegundoApellido_Chofer"];
                        string identificacion_chofer   = (string)datareader["Identificacion_Chofer"];

                        int    id_custodio               = (int)datareader["ID_Custodio"];
                        string nombre_custodio           = (string)datareader["Nombre_Custodio"];
                        string primer_apellido_custodio  = (string)datareader["PrimerApellido_Custodio"];
                        string segundo_apellido_custodio = (string)datareader["SegundoApellido_Custodio"];
                        string identificacion_custodio   = (string)datareader["Identificacion_Custodio"];

                        int    id_portavalor               = (int)datareader["ID_Portavalor"];
                        string nombre_portavalor           = (string)datareader["Nombre_Portavalor"];
                        string primer_apellido_portavalor  = (string)datareader["PrimerApellido_Portavalor"];
                        string segundo_apellido_portavalor = (string)datareader["SegundoApellido_Portavalor"];
                        string identificacion_portavalor   = (string)datareader["Identificacion_Portavalor"];


                        Colaborador chofer     = new Colaborador(id_chofer, nombre_chofer, primer_apellido_chofer, segundo_apellido_chofer, identificacion_chofer);
                        Colaborador custodio   = new Colaborador(id_custodio, nombre_custodio, primer_apellido_custodio, segundo_apellido_custodio, identificacion_custodio);
                        Colaborador portavalor = new Colaborador(id_portavalor, nombre_portavalor, primer_apellido_portavalor, segundo_apellido_portavalor, identificacion_portavalor);

                        short    id_vehiculo = (short)datareader["ID_Vehiculo"];
                        string   modelo      = (string)datareader["Modelo"];
                        string   placa       = (string)datareader["Placa"];
                        int      numeroasoc  = (Int32)datareader["NumeroAsociado"];
                        int      ordensalida = (Int32)datareader["OrdenSalida"];
                        Vehiculo vehiculo    = new Vehiculo(placa: placa, modelo: modelo, numeroasociado: numeroasoc, id: id_vehiculo);



                        tripulacion = new Tripulacion(nombre: descripcion, chofer: chofer, custodio: custodio, portavalor: portavalor, id: id_tripulacion, v: vehiculo, ordenSalida: ordensalida);
                    }

                    CargaATM carga = null;

                    if (datareader["ID_Carga"] != DBNull.Value)
                    {
                        int           id_carga       = (int)datareader["ID_Carga"];
                        DateTime      fecha_asignada = (DateTime)datareader["Fecha_Asignada"];
                        TiposCartucho tipo           = (TiposCartucho)datareader["Tipo"];

                        byte?  ruta             = datareader["Ruta"] as byte?;
                        byte?  orden_ruta       = datareader["Orden_Ruta"] as byte?;
                        bool   atm_full         = (bool)datareader["ATM_Full"];
                        bool   cartucho_rechazo = (bool)datareader["Cartucho_Rechazo"];
                        bool   ena           = (bool)datareader["ENA"];
                        string observaciones = (string)datareader["Observaciones"];

                        carga = new CargaATM(atm, id: id_carga, cajero: cajero_carga, fecha_asignada: fecha_asignada, tipo: tipo, ruta: ruta,
                                             orden_ruta: orden_ruta, atm_full: atm_full, cartucho_rechazo: cartucho_rechazo, ena: ena, observaciones: observaciones, trip: tripulacion);
                    }

                    CargaEmergenciaATM carga_emergencia = null;

                    if (datareader["ID_Carga_Emergencia"] != DBNull.Value)
                    {
                        int      id_carga_emergencia    = (int)datareader["ID_Carga_Emergencia"];
                        DateTime fecha_carga_emergencia = (DateTime)datareader["Fecha_Carga_Emergencia"];

                        carga_emergencia = new CargaEmergenciaATM(id: id_carga_emergencia, atm: atm, fecha: fecha_carga_emergencia);
                    }

                    DescargaATM descarga = new DescargaATM(id: id_descarga, cierre: cierre, carga: carga, fecha: f, carga_emergencia: carga_emergencia);

                    descargas.Add(descarga);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }

            return(descargas);
        }