/// <summary>
        /// Verificar si un manifiesto de carga de un ATM ya fue registrado.
        /// </summary>
        /// <param name="m">Objeto ManifiestoATMCarga con los datos del manifiesto</param>
        /// <returns>Valor que indica si el manifiesto existe</returns>
        public bool verificarManifiestoATMCarga(ref ManifiestoATMCarga m)
        {
            bool existe = false;

            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectExisteManifiestoATM");
            SqlDataReader datareader = null;

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

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                if (datareader.Read())
                {
                    int id_encontrado = (int)datareader["pk_ID"];

                    existe = id_encontrado != m.ID;

                    m.ID = id_encontrado;
                }

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

            return(existe);
        }
        public frmIngresoManifiestoATMs(CargaATM carga)
        {
            InitializeComponent();

            _carga           = carga;
            _manifiesto      = carga.Manifiesto;
            _manifiesto_full = carga.Manifiesto_full;

            try
            {
                txtFecha.Text = carga.Fecha_asignada.ToShortDateString();

                dgvManifiestos.AutoGenerateColumns     = false;
                dgvManifiestosFull.AutoGenerateColumns = false;

                BindingList <ManifiestoATMCarga> manifiestos      = new BindingList <ManifiestoATMCarga>();
                BindingList <ManifiestoATMFull>  manifiestos_full = new BindingList <ManifiestoATMFull>();

                dgvManifiestos.DataSource     = manifiestos;
                dgvManifiestosFull.DataSource = manifiestos_full;

                if (_manifiesto != null)
                {
                    manifiestos.Add(_manifiesto);
                }

                if (_manifiesto_full != null)
                {
                    manifiestos_full.Add(_manifiesto_full);
                }

                if (_carga.ATM_full)
                {
                    gbBusquedaManifiestosFull.Enabled = true;
                    gbDatosManifiestoFull.Enabled     = true;

                    pnlENA.Enabled = true;
                    pnlENA.Enabled = true;
                    //pnlENA.Enabled = _carga.ENA;
                }

                chkBolsaRechazo.Enabled     = true;
                chkBolsaRechazoFull.Enabled = true;
                // chkBolsaRechazo.Enabled = _carga.Bolsa_Rechazo;

                _impresion_carga = true;
                _impresion_full  = _carga.ATM_full;

                _monto = _carga.Monto_carga_colones + _carga.Monto_carga_dolares * nudTipoCambio.Value;

                // Cargar los esquemas

                cboEsquema.DataSource = _mantenimiento.listarEsquemasManifiestos();
            }
            catch (Exception ex)
            {
                this.Close();
                throw ex;
            }
        }
        /// <summary>
        /// Obtiene los datos del manifiesto
        /// </summary>
        /// <param name="man">Objeto manifiesto con los datos del manifiesto</param>
        public void obtenerManifiestoDatos(ref ManifiestoATMCarga man)
        {
            BindingList <ManifiestoATMCarga> manifiestos = new BindingList <ManifiestoATMCarga>();

            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectDatosManifiestoATM");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@id", man, SqlDbType.Int);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    man.Codigo   = (string)datareader["Codigo"];
                    man.Marchamo = (string)datareader["Marchamo"];
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }
        }
        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;
            }
        }
        /// <summary>
        /// Clic en el botón de aceptar.
        /// </summary>
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            frmRegistroCierreATMs padre      = (frmRegistroCierreATMs)this.Owner;
            ManifiestoATMCarga    manifiesto = (ManifiestoATMCarga)dgvManifiestos.SelectedRows[0].DataBoundItem;

            padre.seleccionarManifiestoDescarga(manifiesto);

            this.Close();
        }
        /// <summary>
        /// Clic en el botón de agregar un manifiesto de carga.
        /// </summary>
        private void btnNuevoManifiesto_Click(object sender, EventArgs e)
        {
            _manifiesto = null;

            pnlDatosManifiesto.Enabled = true;
            txtMarchamo.Select();

            this.limpiarDatosManifiesto();
        }
        /// <summary>
        /// Clic en el botón de aceptar.
        /// </summary>
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            frmRegistroCierreATMs padre      = (frmRegistroCierreATMs)this.Owner;
            ManifiestoATMCarga    manifiesto = dgvManifiestos.Rows.Count > 0 ?  (ManifiestoATMCarga)dgvManifiestos.SelectedRows[0].DataBoundItem : null;

            ManifiestoATMFull manifiesto_full = _carga.ATM_full ? (ManifiestoATMFull)dgvManifiestosFull.SelectedRows[0].DataBoundItem : null;

            padre.seleccionarManifiestosCarga(manifiesto, manifiesto_full);

            this.Close();
        }
Example #8
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);
        }
Example #9
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");
            }
        }
Example #10
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);
        }
        /// <summary>
        /// Clic en el botón de cancelar el registro de un manifiesto de carga.
        /// </summary>
        private void btnCancelarManifiesto_Click(object sender, EventArgs e)
        {
            if (dgvManifiestos.SelectedRows.Count > 0)
            {
                _manifiesto = (ManifiestoATMCarga)dgvManifiestos.SelectedRows[0].DataBoundItem;

                this.mostrarDatosManifiesto();
            }
            else
            {
                pnlDatosManifiesto.Enabled = false;

                this.limpiarDatosManifiesto();
            }
        }
        /// <summary>
        /// Eliminar los datos de un manifiesto de carga de un ATM.
        /// </summary>
        /// <param name="m">Objeto ManifiestoATMCarga con los datos del manifiesto a eliminar</param>
        public void eliminarManifiestoATMCarga(ManifiestoATMCarga m)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("DeleteManifiestoATM");

            _manejador.agregarParametro(comando, "@manifiesto", m, SqlDbType.Int);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorManifiestoATMCargaEliminacion");
            }
        }
        /// <summary>
        /// Se selecciona otro manifiesto de la lista de manifiestos.
        /// </summary>
        private void dgvManifiestos_SelectionChanged(object sender, EventArgs e)
        {
            if (dgvManifiestos.SelectedRows.Count > 0)
            {
                _manifiesto = (ManifiestoATMCarga)dgvManifiestos.SelectedRows[0].DataBoundItem;

                pnlDatosManifiesto.Enabled = true;

                this.mostrarDatosManifiesto();
            }
            else
            {
                pnlDatosManifiesto.Enabled = false;

                this.limpiarDatosManifiesto();
            }
        }
        /// <summary>
        /// Actualizar los datos de un manifiesto de carga de un ATM.
        /// </summary>
        /// <param name="m">Objeto ManifiestoATMCarga con los datos del manifiesto a actualizar</param>
        public void actualizarManifiestoATMCarga(ManifiestoATMCarga m)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("UpdateManifiestoATM");

            _manejador.agregarParametro(comando, "@codigo", m.Codigo, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@marchamo", m.Marchamo, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@marchamo_adicional", m.Marchamo_adicional, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@bolsa_rechazo", m.Bolsa_rechazo, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@fecha", m.Fecha, SqlDbType.Date);
            _manejador.agregarParametro(comando, "@manifiesto", m, SqlDbType.Int);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorManifiestoATMCargaActualizacion");
            }
        }
        /// <summary>
        /// Registrar un nuevo manifiesto de carga de un ATM.
        /// </summary>
        /// <param name="m">Objeto ManifiestoATMCarga con los datos del nuevo manifiesto</param>
        public void agregarManifiestoATMCarga(ref ManifiestoATMCarga m)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertManifiestoATM");

            _manejador.agregarParametro(comando, "@codigo", m.Codigo, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@marchamo", m.Marchamo, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@marchamo_adicional", m.Marchamo_adicional, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@bolsa_rechazo", m.Bolsa_rechazo, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@fecha", m.Fecha, SqlDbType.Date);


            try
            {
                m.ID = (int)_manejador.ejecutarEscalar(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorManifiestoATMCargaRegistro");
            }
        }
        /// <summary>
        /// Obtener una lista de los manifiestos de cargas de ATM's que tienen un determinado código o parte del mismo.
        /// </summary>
        /// <param name="c">Código o parte del mismo de los manifiestos que se listarán</param>
        /// <returns>Lista de manifiesto que cumplen con el criterio de búsqueda</returns>
        public BindingList <ManifiestoATMCarga> listarManifiestosATMsCargasPorCodigo(string c)
        {
            BindingList <ManifiestoATMCarga> manifiestos = new BindingList <ManifiestoATMCarga>();

            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectManifiestosATMsPorCodigo");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@codigo", c, SqlDbType.VarChar);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int      id                 = (int)datareader["pk_ID"];
                    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"];

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

                    manifiestos.Add(manifiesto);
                }

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

            return(manifiestos);
        }
        /// <summary>
        /// Clic en el botón de guardar un  manifiesto de carga.
        /// </summary>
        private void btnGuardarManifiesto_Click(object sender, EventArgs e)
        {
            // Verificar que se hayan especificado los datos del manifiesto

            if (
                txtMarchamo.Text.Equals(string.Empty) || txtMarchamoAdicional.Text.Equals(string.Empty) ||
                (chkBolsaRechazo.Checked && txtBolsaAdicionalRechazo.Text.Equals(string.Empty)))
            {
                Excepcion.mostrarMensaje("ErrorManifiestoATMCargaDatosRegistro");
                return;
            }

            try
            {
                string codigo        = txtCodigoManifiesto.Text;
                string marchamo      = txtMarchamo.Text;
                string bolsa_rechazo = chkBolsaRechazo.Checked ?
                                       txtBolsaAdicionalRechazo.Text : null;
                string   marchamo_adicional = txtMarchamoAdicional.Text;
                DateTime fecha = _carga.Fecha_asignada;

                // Verificar si el manifiesto es nuevo

                if (_manifiesto == null)
                {
                    if (Mensaje.mostrarMensajeConfirmacion("MensajeManifiestoATMCargaRegistro") == DialogResult.Yes)
                    {
                        ManifiestoATMCarga nuevo = new ManifiestoATMCarga(codigo, marchamo, fecha, bolsa_rechazo, marchamo_adicional);

                        _atencion.agregarManifiestoATMCarga(ref nuevo);

                        txtCodigoManifiesto.Text = nuevo.Codigo;
                        // Agregar el manifiesto a la lista de manifiestos

                        BindingList <ManifiestoATMCarga> manifiestos = (BindingList <ManifiestoATMCarga>)dgvManifiestos.DataSource;

                        manifiestos.Add(nuevo);

                        Mensaje.mostrarMensaje("MensajeManifiestoATMCargaConfirmacionRegistro");

                        btnCancelarManifiesto.Enabled = false;
                        btnAceptar.Enabled            = true;
                    }
                }
                else
                {
                    ManifiestoATMCarga copia = new ManifiestoATMCarga(codigo, marchamo, fecha, bolsa_rechazo, marchamo_adicional,
                                                                      id: _manifiesto.ID);

                    _atencion.actualizarManifiestoATMCarga(copia);

                    _manifiesto.Codigo        = codigo;
                    _manifiesto.Marchamo      = marchamo;
                    _manifiesto.Bolsa_rechazo = bolsa_rechazo;



                    Mensaje.mostrarMensaje("MensajeManifiestoATMCargaConfirmacionActualizacion");
                }
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }