private void btnAsignarTula_Click(object sender, EventArgs e)
        {
            BindingList <ProcesamientoAltoVolumenDetalle> listaDetalle;

            try
            {
                if (verificartula())
                {
                    epError.SetError(txtNumero, "");
                    listaDetalle = (BindingList <ProcesamientoAltoVolumenDetalle>)dgvDetalleAltoVolumen.DataSource;
                    if (btnAsignarTula.Text.Equals("Actualizar"))
                    {
                        procesodetalle            = listaDetalle[dgvDetalleAltoVolumen.SelectedRows[0].Index];
                        procesodetalle.Tula       = _tula;
                        procesodetalle.Cajero     = _usuario;
                        procesodetalle.Headercard = txtHeaderCard.Text;
                        if (chkTulaMixta.Checked)
                        {
                            procesodetalle.Tipo = 1;
                        }
                        else
                        {
                            procesodetalle.Tipo = 0;
                        }
                        procesodetalle.Moneda = (Monedas)cboMonedaTula.SelectedIndex;
                        procesodetalle.Monto  = nudMontoTula.Value;
                        listaDetalle[dgvDetalleAltoVolumen.SelectedRows[0].Index] = procesodetalle;
                    }
                    else
                    {
                        procesodetalle            = new ProcesamientoAltoVolumenDetalle();
                        procesodetalle.Tula       = _tula;
                        procesodetalle.Cajero     = _usuario;
                        procesodetalle.Headercard = txtHeaderCard.Text;
                        if (chkTulaMixta.Checked)
                        {
                            procesodetalle.Tipo = 1;
                        }
                        else
                        {
                            procesodetalle.Tipo = 0;
                        }
                        procesodetalle.Moneda = (Monedas)cboMonedaTula.SelectedIndex;
                        procesodetalle.Monto  = nudMontoTula.Value;
                        epError.SetError(txtTula, "");
                        listaDetalle.Add(procesodetalle);
                    }
                    dgvDetalleAltoVolumen.Refresh();
                    dgvDetalleAltoVolumen.ClearSelection();
                    txtTula.Text         = "";
                    txtHeaderCard.Text   = "";
                    nudMontoTula.Value   = 0;
                    chkTulaMixta.Checked = false;
                }
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }
示例#2
0
        private void btnProcesar_Click(object sender, EventArgs e)
        {
            try
            {
                if (validacampos())
                {
                    // Inicia cambios GZH 23/08/2017
                    _procesoAV        = new ProcesamientoAltoVolumen();
                    _procesoAVDet     = new ProcesamientoAltoVolumenDetalle("");
                    _procesoAV.Cajero = _procesoBV.ColaboradorAsociado;
                    _procesoAV.Camara = (Camara)cboCamara.SelectedItem;
                    if ((cboTipoEntrega.SelectedIndex < 2) || (cboTipoEntrega.SelectedIndex == 3))
                    {
                        _procesoAV.Moneda    = Monedas.Colones;
                        _procesoAVDet.Moneda = Monedas.Colones;
                    }
                    else
                    {
                        if (cboTipoEntrega.SelectedIndex == 2)
                        {
                            _procesoAV.Moneda    = Monedas.Dolares;
                            _procesoAVDet.Moneda = Monedas.Dolares;
                        }
                        else
                        {
                            _procesoAV.Moneda    = Monedas.Euros;
                            _procesoAVDet.Moneda = Monedas.Euros;
                        }
                    }
                    _procesoAV.Monto = nudMonto.Value;
                    if (cboTipoEntrega.SelectedIndex > 2)
                    {
                        _procesoAV.Tipo = (byte)(cboTipoEntrega.SelectedIndex + 1);
                    }
                    else
                    {
                        _procesoAV.Tipo = (byte)cboTipoEntrega.SelectedIndex;
                    }
                    _procesoAVDet.Headercard = txtHeadercard.Text;
                    _procesoAVDet.Cajero     = _procesoBV.ColaboradorAsociado;
                    _procesoAVDet.Monto      = nudMonto.Value;
                    _procesoAV.Detalle       = new BindingList <ProcesamientoAltoVolumenDetalle>();
                    _procesoAV.Detalle.Add(_procesoAVDet);

                    //Finaliza cambios GZH 23/08/2017

                    _mantenimiento.agregarProcesamientoAltoVolumen(ref _procesoAV, _procesoBV);
                    _mantenimiento.agregarProcesamientoAltoVolumenDetalle(ref _procesoAVDet, _procesoAV);
                    _procesoBV = _mantenimiento.listarProcesamientoBajoVolumenCajero(ref col);
                    //_procesoBV.Excedelimite = false;
                    MessageBox.Show("Se procesó correctamente la entrega de bajo volumen a alto volumen");
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#3
0
 private void btnProcesar_Click(object sender, EventArgs e) //CAMBIOS GZH 11092017
 {
     try
     {
         if (validacampos())
         {
             _procesoAV               = new ProcesamientoAltoVolumen();
             _procesoAVDet            = new ProcesamientoAltoVolumenDetalle("");
             _procesoAV.Detalle       = new BindingList <ProcesamientoAltoVolumenDetalle>();
             _procesoAVDet.Headercard = txtHeadercard.Text;
             _procesoAVDet.Cajero     = _procesoBV.ColaboradorAsociado;
             _procesoAV.Cajero        = _procesoBV.ColaboradorAsociado;
             _procesoAV.Camara        = (Camara)cboCamara.SelectedItem;
             _procesoAVDet.Monto      = nudMonto.Value;
             if ((cboTipoEntrega.SelectedIndex < 2) || (cboTipoEntrega.SelectedIndex == 3))
             {
                 _procesoAV.Moneda    = Monedas.Colones;
                 _procesoAVDet.Moneda = Monedas.Colones;
             }
             else
             {
                 if (cboTipoEntrega.SelectedIndex == 2)
                 {
                     _procesoAV.Moneda    = Monedas.Dolares;
                     _procesoAVDet.Moneda = Monedas.Dolares;
                 }
                 else
                 {
                     _procesoAV.Moneda    = Monedas.Euros;
                     _procesoAVDet.Moneda = Monedas.Euros;
                 }
             }
             _procesoAV.Detalle.Add(_procesoAVDet);
             _procesoAV.Monto = nudMonto.Value;
             _procesoAV.Tipo  = (byte)cboTipoEntrega.SelectedIndex;
             if (_procesoAV.Tipo > 2)
             {
                 _procesoAV.Tipo += 1;
             }
             _mantenimiento.agregarProcesamientoAltoVolumen(ref _procesoAV, _procesoBV);
             _mantenimiento.agregarProcesamientoAltoVolumenDetalle(ref _procesoAVDet, _procesoAV);
             _procesoBV = _mantenimiento.listarProcesamientoBajoVolumenCajero(ref col);
             //_procesoBV.Excedelimite = false;
             this.Close();
         }
     }
     catch (Excepcion ex)
     {
         ex.mostrarMensaje();
     }
 }
        public int verificaTulaAltoVolumen(ProcesamientoAltoVolumenDetalle c) //Cambio GZH 23/11/2017
        {
            int        conteotulas;
            SqlCommand comando = _manejador.obtenerProcedimiento("VerificaTulaAltoVolumen");

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


            try
            {
                conteotulas = Convert.ToInt32(_manejador.ejecutarEscalar(comando));
                comando.Connection.Close();
                return(conteotulas);
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("VerificaTulaAltoVolumen");
            }
        }
 private void dgvDetalleAltoVolumen_SelectionChanged(object sender, EventArgs e)
 {
     if (dgvDetalleAltoVolumen.SelectedRows.Count > 0)
     {
         procesodetalle              = (ProcesamientoAltoVolumenDetalle)dgvDetalleAltoVolumen.SelectedRows[0].DataBoundItem;
         txtHeaderCard.Text          = procesodetalle.Headercard;
         cboMonedaTula.SelectedIndex = (byte)procesodetalle.Moneda;
         txtTula.Text       = procesodetalle.Tula.Codigo;
         nudMontoTula.Value = procesodetalle.Monto;
         if (procesodetalle.Tipo != 0)
         {
             chkTulaMixta.Checked = true;
         }
         else
         {
             chkTulaMixta.Checked = false;
         }
         filaregistroseleccionado = dgvDetalleAltoVolumen.SelectedRows[0].Index;
         btnAsignarTula.Text      = "Actualizar";
         _tula = new Tula("");
         _tula = procesodetalle.Tula;
     }
     else
     {
         btnAsignarTula.Text      = "Asignar";
         procesodetalle           = null;
         filaregistroseleccionado = -1;
         chkTulaMixta.Checked     = false;
         txtTula.Text             = "";
         txtHeaderCard.Text       = "";
         nudMontoTula.Value       = 0;
         epError.SetError(txtTula, "");
         epError.SetError(txtHeaderCard, "");
         epError.SetError(nudMontoTula, "");
     }
     epError.SetError(btnAsignarTula, "");
 }
        public void actualizarProcesamientoAltoVolumenDetalle(ProcesamientoAltoVolumenDetalle c, Colaborador d) //Cambios GZH 02/11/2017
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("UpdateProcesamientoAltoVolumenDetalle");

            _manejador.agregarParametro(comando, "@idprocesoAltoVolumenDetalle", c.ID, SqlDbType.Int);
            if (c.Tula == null)
            {
                _manejador.agregarParametro(comando, "@tula", null, SqlDbType.Int);
            }
            else
            {
                if (c.Tula.ID == 0)
                {
                    _manejador.agregarParametro(comando, "@tula", null, SqlDbType.Int);
                }
                else
                {
                    _manejador.agregarParametro(comando, "@tula", c.Tula.ID, SqlDbType.Int);
                }
            }
            _manejador.agregarParametro(comando, "@headercard", c.Headercard, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@mixta", c.Tipo, SqlDbType.TinyInt);
            _manejador.agregarParametro(comando, "@moneda", (byte)c.Moneda, SqlDbType.TinyInt);
            _manejador.agregarParametro(comando, "@monto", c.Monto, SqlDbType.Money);
            _manejador.agregarParametro(comando, "@idcolaborador", d.ID, SqlDbType.Int);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorProcesamientoDetalleAltoVolumenRegistro");
            }
        }
        public void agregarProcesamientoAltoVolumenDetalle(ref ProcesamientoAltoVolumenDetalle c, ProcesamientoAltoVolumen d)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertProcesamientoAltoVolumenDetalle");

            _manejador.agregarParametro(comando, "@idprocesoAltoVolumen", d.ID, SqlDbType.Int);
            if (c.Tula == null)
            {
                _manejador.agregarParametro(comando, "@tula", null, SqlDbType.Int);
            }
            else
            {
                if (c.Tula.ID == 0)
                {
                    _manejador.agregarParametro(comando, "@tula", null, SqlDbType.Int);
                }
                else
                {
                    _manejador.agregarParametro(comando, "@tula", c.Tula.ID, SqlDbType.Int);
                }
            }
            _manejador.agregarParametro(comando, "@headercard", c.Headercard, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@mixta", c.Tipo, SqlDbType.TinyInt);
            _manejador.agregarParametro(comando, "@moneda", (byte)c.Moneda, SqlDbType.TinyInt);
            _manejador.agregarParametro(comando, "@monto", c.Monto, SqlDbType.Money);

            try
            {
                c.ID = (int)_manejador.ejecutarEscalar(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorProcesamientoDetalleAltoVolumenRegistro");
            }
        }
示例#8
0
        private bool verificartula()
        {
            bool       existe           = true;
            TipoCambio _tipocambio      = null;
            decimal    _montoconvertido = 0;
            decimal    _montofinal      = 0;
            decimal    _montototal      = 0;

            try
            {
                if (txtHeaderCard.Text.Equals(string.Empty))
                {
                    epError.SetError(txtHeaderCard, "El campo headercard se encuentra vacío. Favor indicar uno.");
                    existe = false;
                }
                if (cboMonedaTula.SelectedIndex == -1)
                {
                    epError.SetError(cboMonedaTula, "Favor seleccionar una moneda del combo moneda");
                    existe = false;
                }
                if (nudMontoTula.Value == 0)
                {
                    epError.SetError(nudMontoTula, "Favor seleccionar indicar un monto para la tula");
                    existe = false;
                }
                if (txtTula.Text.Equals(string.Empty))
                {
                    epError.SetError(txtTula, "Favor indicar un código de tula");
                    existe = false;
                }

                if (dgvDetalleAltoVolumen.Rows.Count == 0)
                {
                    if (cboMoneda.SelectedItem.ToString().Equals(cboMonedaTula.SelectedItem.ToString()))
                    {
                        /*if (nudMontoTula.Value > nudMonto.Value)
                         * {
                         *  epError.SetError(nudMontoTula, "El monto de la tula asociado es mayor al monto declarado del manifiesto.");
                         *  existe = false;
                         * }*/
                    }
                    else
                    {
                        _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today);
                        if (_tipocambio == null)
                        {
                            _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today.AddDays(-1));
                        }
                        if (cboMoneda.SelectedItem.ToString().Equals("Colones"))
                        {
                            _montoconvertido = (_tipocambio.Compra * nudMontoTula.Value);
                            //_montofinal = _montoconvertido - nudMonto.Value;

                            /*if (_montoconvertido > (nudMonto.Value + 2000))
                             * {
                             *  epError.SetError(nudMontoTula, "El monto de la tula asociado convertido a colones no puede ser mayor al monto declarado del manifiesto.");
                             *  existe = false;
                             * }*/
                        }
                        else
                        {
                            _montoconvertido = (nudMontoTula.Value / _tipocambio.Venta);
                            //_montofinal = _montoconvertido - nudMonto.Value;

                            /*if (_montoconvertido > (nudMonto.Value + 3))
                             * {
                             *  epError.SetError(nudMontoTula, "El monto de la tula asociado convertido a colones tiene una diferencia mayor no permitida al monto declarado del manifiesto.");
                             *  existe = false;
                             * }*/
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < dgvDetalleAltoVolumen.Rows.Count; i++)
                    {
                        //ProcesamientoAltoVolumenDetalle procesodetalle = new ProcesamientoAltoVolumenDetalle("");
                        procesodetalle = (ProcesamientoAltoVolumenDetalle)dgvDetalleAltoVolumen.Rows[i].DataBoundItem;
                        if (txtTula.Text.Equals(procesodetalle.Tula.Codigo))
                        {
                            if (btnAsignarTula.Text.Equals("Asignar"))
                            {
                                if (chkTulaMixta.Checked == false)
                                {
                                    existe = false;
                                    epError.SetError(btnAsignarTula, "Ya existe una tula ingresada en el grid con el mismo código");
                                    break;
                                }
                                else
                                {
                                    if (txtHeaderCard.Text.Equals(procesodetalle.Headercard))
                                    {
                                        existe = false;
                                        epError.SetError(btnAsignarTula, "Ya existe una tula ingresada en el grid con el mismo código y el mismo headercard");
                                        break;
                                    }
                                }
                            }
                            else
                            {
                                if (i != filaregistroseleccionado)
                                {
                                    existe = false;
                                    epError.SetError(btnAsignarTula, "Ya existe una tula ingresada en el grid con el mismo código");
                                    break;
                                }
                                if ((txtHeaderCard.Text.Equals(procesodetalle.Headercard)) && (i != filaregistroseleccionado))
                                {
                                    existe = false;
                                    epError.SetError(btnAsignarTula, "Ya existe una tula ingresada en el grid con el mismo código y el mismo headercard");
                                    break;
                                }
                            }
                        }
                        if (filaregistroseleccionado != i)
                        {
                            if ((Monedas)cboMoneda.SelectedIndex == procesodetalle.Moneda)
                            {
                                _montototal += procesodetalle.Monto;
                            }
                            else
                            {
                                _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today);
                                if (_tipocambio == null)
                                {
                                    _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today.AddDays(-1));
                                }
                                if (procesodetalle.Moneda == Monedas.Dolares)
                                {
                                    _montoconvertido = (_tipocambio.Compra * procesodetalle.Monto);
                                    _montototal     += _montoconvertido;
                                }
                                else
                                {
                                    _montoconvertido = (procesodetalle.Monto / _tipocambio.Venta);
                                    _montototal     += _montoconvertido;
                                }
                            }
                        }
                    }
                    if (cboMoneda.SelectedItem.ToString().Equals(cboMonedaTula.SelectedItem.ToString()))
                    {
                        _montototal += nudMontoTula.Value;
                    }
                    else
                    {
                        _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today);
                        if (_tipocambio == null)
                        {
                            _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today.AddDays(-1));
                        }
                        if (cboMoneda.SelectedItem.ToString().Equals("Colones"))
                        {
                            _montoconvertido = (_tipocambio.Compra * nudMontoTula.Value);
                            _montototal     += _montoconvertido;
                        }
                        else
                        {
                            _montoconvertido = (nudMontoTula.Value / _tipocambio.Venta);
                            _montototal     += _montoconvertido;
                        }
                    }
                    _montofinal = _montototal - nudMonto.Value;
                    if (cboMoneda.SelectedItem.ToString().Equals("Colones"))
                    {
                        /*if (_montototal > (nudMonto.Value + 2000))
                         * {
                         *  epError.SetError(nudMontoTula, "El monto total de las tulas en proceso supera el monto declarado del manifiesto.");
                         *  existe = false;
                         * }*/
                    }
                    else
                    {
                        /*if (_montototal > (nudMonto.Value + 3))
                         * {
                         *  epError.SetError(nudMontoTula, "El monto total de las tulas en proceso supera el monto declarado del manifiesto.");
                         *  existe = false;
                         * }*/
                    }
                }
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }

            return(existe);
        }
示例#9
0
 private void btnTerminar_Click(object sender, EventArgs e)
 {
     try
     {
         if (!_mantenimiento.VerificaTulasManifiestoAV(ref _manifiesto, dgvDetalleAltoVolumen.Rows.Count))
         {
             epError.SetError(txtNumero, "El total de tulas no corresponden al manifiesto.");
             return;
         }
         else
         {
             decimal _montototal      = 0;
             decimal _montoconvertido = 0;
             decimal _montofinal      = 0;
             if (conteoerrores == 2)
             {
                 frmValidacionCoordinadorCE formulario = new frmValidacionCoordinadorCE(12, _usuario);
                 formulario.ShowDialog(this);
                 if (insertarPAV)
                 {
                     TipoCambio _tipocambio = null;
                     for (int i = 0; i < dgvDetalleAltoVolumen.Rows.Count; i++)
                     {
                         procesodetalle = (ProcesamientoAltoVolumenDetalle)dgvDetalleAltoVolumen.Rows[i].DataBoundItem;
                         if (((Monedas)cboMoneda.SelectedIndex == procesodetalle.Moneda))
                         {
                             _montototal += procesodetalle.Monto;
                         }
                         else
                         {
                             _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today);
                             if (_tipocambio == null)
                             {
                                 _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today.AddDays(-1));
                             }
                             if (procesodetalle.Moneda == Monedas.Dolares)
                             {
                                 _montoconvertido = (_tipocambio.Compra * procesodetalle.Monto);
                                 _montototal     += _montoconvertido;
                             }
                             else
                             {
                                 _montoconvertido = (procesodetalle.Monto / _tipocambio.Venta);
                                 _montototal     += _montoconvertido;
                             }
                         }
                     }
                     _montofinal          = _montototal - nudMonto.Value;
                     procesoAV.Camara     = (Camara)cboCamara.SelectedItem;
                     procesoAV.Cliente    = (Cliente)cboCliente.SelectedItem;
                     procesoAV.Moneda     = (Monedas)cboMoneda.SelectedIndex;
                     procesoAV.Monto      = nudMonto.Value;
                     procesoAV.PuntoVenta = (PuntoVenta)cboPuntoVenta.SelectedItem;
                     _mantenimiento.actualizarProcesamientoAltoVolumen(procesoAV, _usuario);
                     BindingList <ProcesamientoAltoVolumenDetalle> listaDetalle;
                     listaDetalle = (BindingList <ProcesamientoAltoVolumenDetalle>)dgvDetalleAltoVolumen.DataSource;
                     foreach (ProcesamientoAltoVolumenDetalle _detproc in listaDetalle)
                     {
                         _mantenimiento.actualizarProcesamientoAltoVolumenDetalle(_detproc, _usuario);
                     }
                     MessageBox.Show("Se ha actualizado de forma correcta el registro asociado al procesamiento de alto volumen.");
                     btnCancelar_Click(sender, e);
                 }
             }
             else
             {
                 TipoCambio _tipocambio = null;
                 for (int i = 0; i < dgvDetalleAltoVolumen.Rows.Count; i++)
                 {
                     procesodetalle = (ProcesamientoAltoVolumenDetalle)dgvDetalleAltoVolumen.Rows[i].DataBoundItem;
                     if (((Monedas)cboMoneda.SelectedIndex == procesodetalle.Moneda))
                     {
                         _montototal += procesodetalle.Monto;
                     }
                     else
                     {
                         _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today);
                         if (_tipocambio == null)
                         {
                             _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today.AddDays(-1));
                         }
                         if (procesodetalle.Moneda == Monedas.Dolares)
                         {
                             _montoconvertido = (_tipocambio.Compra * procesodetalle.Monto);
                             _montototal     += _montoconvertido;
                         }
                         else
                         {
                             _montoconvertido = (procesodetalle.Monto / _tipocambio.Venta);
                             _montototal     += _montoconvertido;
                         }
                     }
                 }
                 _montofinal = _montototal - nudMonto.Value;
                 if (cboMoneda.SelectedItem.ToString().Equals("Colones"))
                 {
                     if (Math.Abs(_montofinal) > 2000)
                     {
                         epError.SetError(nudMontoTula, "El monto total de las tulas en proceso posee una diferencia no permitada contra el monto declarado del manifiesto.");
                         conteoerrores += 1;
                         return;
                     }
                 }
                 else
                 {
                     if (Math.Abs(_montofinal) > 3)
                     {
                         epError.SetError(nudMontoTula, "El monto total de las tulas en proceso posee una diferencia no permitada contra el monto declarado del manifiesto.");
                         conteoerrores += 1;
                         return;
                     }
                 }
                 procesoAV.Camara     = (Camara)cboCamara.SelectedItem;
                 procesoAV.Cliente    = (Cliente)cboCliente.SelectedItem;
                 procesoAV.Moneda     = (Monedas)cboMoneda.SelectedIndex;
                 procesoAV.Monto      = nudMonto.Value;
                 procesoAV.PuntoVenta = (PuntoVenta)cboPuntoVenta.SelectedItem;
                 _mantenimiento.actualizarProcesamientoAltoVolumen(procesoAV, _usuario);
                 BindingList <ProcesamientoAltoVolumenDetalle> listaDetalle;
                 listaDetalle = (BindingList <ProcesamientoAltoVolumenDetalle>)dgvDetalleAltoVolumen.DataSource;
                 foreach (ProcesamientoAltoVolumenDetalle _detproc in listaDetalle)
                 {
                     _mantenimiento.actualizarProcesamientoAltoVolumenDetalle(_detproc, _usuario);
                 }
                 MessageBox.Show("Se ha actualizado de forma correcta el registro asociado al procesamiento de alto volumen.");
                 btnCancelar_Click(sender, e);
             }
         }
     }
     catch (Excepcion ex)
     {
         ex.mostrarMensaje();
     }
 }
示例#10
0
 private void btnbuscar_Click(object sender, EventArgs e)
 {
     if (txtNumero.Text != "")
     {
         _manifiesto.Codigo = txtNumero.Text;
         procesoAV          = _mantenimiento.obtenerProcesamientoAltoVolumenManifiesto(_manifiesto.Codigo);
         if (procesoAV == null)
         {
             epError.SetError(txtNumero, "El manifiesto indicado no posee registros de Procesamiento de Alto Volumen válidos para la consulta (Manifiesto no existe o el registro de alto volumen ya fue validado).");
             gbDatosManifiesto.Enabled     = false;
             gbDatosTula.Enabled           = false;
             cboCliente.SelectedIndex      = -1;
             btnCancelar.Enabled           = false;
             btnTerminar.Enabled           = false;
             dgvDetalleAltoVolumen.Enabled = false;
             btnEliminar.Enabled           = false;
         }
         else
         {
             _manifiesto.ID          = procesoAV.Manifiesto.ID;
             cboCamara.SelectedItem  = procesoAV.Camara;
             cboMoneda.SelectedIndex = (byte)procesoAV.Moneda;
             cboCliente.SelectedItem = procesoAV.Cliente;
             Cliente cliente = (Cliente)cboCliente.SelectedItem;
             cboPuntoVenta.ListaMostrada = cliente.Puntos_venta;
             cboPuntoVenta.SelectedItem  = procesoAV.PuntoVenta;
             nudMonto.Value      = procesoAV.Monto;
             txtColaborador.Text = procesoAV.Cajero.ToString();
             epError.SetError(txtNumero, "");
             //dgvDetalleAltoVolumen.DataSource = procesoAV.Detalle;
             gbDatosManifiesto.Enabled     = true;
             gbDatosTula.Enabled           = true;
             btnCancelar.Enabled           = true;
             btnTerminar.Enabled           = true;
             btnEliminar.Enabled           = true;
             dgvDetalleAltoVolumen.Enabled = true;
             BindingList <ProcesamientoAltoVolumenDetalle> listaDetalle;
             //DDRC
             dgvDetalleAltoVolumen.Rows.Clear();
             listaDetalle = (BindingList <ProcesamientoAltoVolumenDetalle>)dgvDetalleAltoVolumen.DataSource;
             foreach (ProcesamientoAltoVolumenDetalle _detproc in procesoAV.Detalle)
             {
                 procesodetalle            = new ProcesamientoAltoVolumenDetalle();
                 procesodetalle.ID         = _detproc.ID;
                 procesodetalle.Tula       = _detproc.Tula;
                 procesodetalle.Cajero     = _detproc.Cajero;
                 procesodetalle.Headercard = _detproc.Headercard;
                 procesodetalle.Tipo       = _detproc.Tipo;
                 procesodetalle.Moneda     = _detproc.Moneda;
                 procesodetalle.Monto      = _detproc.Monto;
                 epError.SetError(txtTula, "");
                 listaDetalle.Add(procesodetalle);
             }
             dgvDetalleAltoVolumen.Refresh();
             dgvDetalleAltoVolumen.ClearSelection();
             txtTula.Text       = "";
             txtHeaderCard.Text = "";
             nudMontoTula.Value = 0;
             //dgvDetalleAltoVolumen.ClearSelection();
         }
     }
 }
 private void btnTerminar_Click(object sender, EventArgs e)
 {
     try
     {
         if (!_mantenimiento.VerificaTulasManifiestoAV(ref _manifiesto, dgvDetalleAltoVolumen.Rows.Count))
         {
             epError.SetError(txtNumero, "El total de tulas no corresponden al manifiesto.");
             return;
         }
         else
         {
             decimal _montototal      = 0;
             decimal _montoconvertido = 0;
             decimal _montofinal      = 0;
             if (conteoerrores == 2)
             {
                 frmValidacionCoordinadorCE formulario = new frmValidacionCoordinadorCE(11, _usuario);
                 formulario.ShowDialog(this);
                 if (insertarPAV)
                 {
                     TipoCambio _tipocambio = null;
                     for (int i = 0; i < dgvDetalleAltoVolumen.Rows.Count; i++)
                     {
                         procesodetalle = (ProcesamientoAltoVolumenDetalle)dgvDetalleAltoVolumen.Rows[i].DataBoundItem;
                         if (((Monedas)cboMoneda.SelectedIndex == procesodetalle.Moneda))
                         {
                             _montototal += procesodetalle.Monto;
                         }
                         else
                         {
                             _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today);
                             if (_tipocambio == null)
                             {
                                 _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today.AddDays(-1));
                             }
                             if (procesodetalle.Moneda == Monedas.Dolares)
                             {
                                 _montoconvertido = (_tipocambio.Compra * procesodetalle.Monto);
                                 _montototal     += _montoconvertido;
                             }
                             else
                             {
                                 _montoconvertido = (procesodetalle.Monto / _tipocambio.Venta);
                                 _montototal     += _montoconvertido;
                             }
                         }
                     }
                     _montofinal = _montototal - nudMonto.Value;
                     epError.SetError(txtNumero, "");
                     procesoBV = _mantenimiento.listarProcesamientoBajoVolumenCajero(ref _usuario);
                     _mantenimiento.agregarProcesamientoAltoVolumen(ref procesoAV, procesoBV);
                     for (int i = 0; i < dgvDetalleAltoVolumen.Rows.Count; i++)
                     {
                         procesodetalle = (ProcesamientoAltoVolumenDetalle)dgvDetalleAltoVolumen.Rows[i].DataBoundItem;
                         _mantenimiento.agregarProcesamientoAltoVolumenDetalle(ref procesodetalle, procesoAV);
                     }
                     MessageBox.Show("El proceso de registro de Alto Volumen ha sido registrado satisfactoriamente.");
                     //dgvDetalleAltoVolumen.DataSource = null;
                     dgvDetalleAltoVolumen.DataSource = new BindingList <ProcesamientoAltoVolumenDetalle>();
                     txtHeaderCard.Text            = "";
                     txtNumero.Text                = "";
                     nudMonto.Value                = 0;
                     nudMontoTula.Value            = 0;
                     txtTula.Text                  = "";
                     gbDatosTula.Enabled           = false;
                     dgvDetalleAltoVolumen.Enabled = false;
                     btnTerminar.Enabled           = false;
                     btnCancelar.Enabled           = false;
                     conteoerrores                 = 0;
                 }
             }
             else
             {
                 TipoCambio _tipocambio = null;
                 for (int i = 0; i < dgvDetalleAltoVolumen.Rows.Count; i++)
                 {
                     procesodetalle = (ProcesamientoAltoVolumenDetalle)dgvDetalleAltoVolumen.Rows[i].DataBoundItem;
                     if (((Monedas)cboMoneda.SelectedIndex == procesodetalle.Moneda))
                     {
                         _montototal += procesodetalle.Monto;
                     }
                     else
                     {
                         _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today);
                         if (_tipocambio == null)
                         {
                             _tipocambio = _mantenimiento.obtenerTipoCambio(DateTime.Today.AddDays(-1));
                         }
                         if (procesodetalle.Moneda == Monedas.Dolares)
                         {
                             _montoconvertido = (_tipocambio.Compra * procesodetalle.Monto);
                             _montototal     += _montoconvertido;
                         }
                         else
                         {
                             _montoconvertido = (procesodetalle.Monto / _tipocambio.Venta);
                             _montototal     += _montoconvertido;
                         }
                     }
                 }
                 _montofinal = _montototal - nudMonto.Value;
                 if (cboMoneda.SelectedItem.ToString().Equals("Colones"))
                 {
                     if (Math.Abs(_montofinal) > 2000)
                     {
                         epError.SetError(nudMontoTula, "El monto total de las tulas en proceso posee una diferencia no permitada contra el monto declarado del manifiesto.");
                         conteoerrores += 1;
                         return;
                     }
                 }
                 else
                 {
                     if (Math.Abs(_montofinal) > 3)
                     {
                         epError.SetError(nudMontoTula, "El monto total de las tulas en proceso posee una diferencia no permitada contra el monto declarado del manifiesto.");
                         conteoerrores += 1;
                         return;
                     }
                 }
                 epError.SetError(txtNumero, "");
                 procesoBV = _mantenimiento.listarProcesamientoBajoVolumenCajero(ref _usuario);
                 _mantenimiento.agregarProcesamientoAltoVolumen(ref procesoAV, procesoBV);
                 for (int i = 0; i < dgvDetalleAltoVolumen.Rows.Count; i++)
                 {
                     procesodetalle = (ProcesamientoAltoVolumenDetalle)dgvDetalleAltoVolumen.Rows[i].DataBoundItem;
                     _mantenimiento.agregarProcesamientoAltoVolumenDetalle(ref procesodetalle, procesoAV);
                 }
                 MessageBox.Show("El proceso de registro de Alto Volumen ha sido registrado satisfactoriamente.");
                 //dgvDetalleAltoVolumen.DataSource = null;
                 dgvDetalleAltoVolumen.DataSource = new BindingList <ProcesamientoAltoVolumenDetalle>();
                 txtHeaderCard.Text            = "";
                 txtNumero.Text                = "";
                 nudMonto.Value                = 0;
                 nudMontoTula.Value            = 0;
                 txtTula.Text                  = "";
                 gbDatosTula.Enabled           = false;
                 dgvDetalleAltoVolumen.Enabled = false;
                 btnTerminar.Enabled           = false;
                 btnCancelar.Enabled           = false;
                 conteoerrores                 = 0;
             }
         }
         //this.Close();
     }
     catch (Excepcion ex)
     {
         ex.mostrarMensaje();
     }
 }
        public ProcesamientoAltoVolumen ObtenerInfoProcesoAltoVolumen(string headercard)
        {
            ProcesamientoAltoVolumen proceso = null;
            SqlCommand comando = _manejador.obtenerProcedimiento("SelectInfoProcesoAltoVolumen");

            _manejador.agregarParametro(comando, "@headercard", headercard, SqlDbType.VarChar);
            SqlDataReader datareader = null;

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);
                //comando.Connection.Close();

                if (datareader != null)
                {
                    if (datareader.HasRows)
                    {
                        while (datareader.Read())
                        {
                            int    idproceso    = (int)datareader["pk_ID"];
                            int    idprocesoAV  = (int)datareader["ID_ProcesoAV"];
                            string codigo       = (string)datareader["Manifiesto"];
                            int    idmanifiesto = (int)datareader["fk_ID_Manifiesto"];
                            byte   idcamara     = (byte)datareader["fk_ID_Camara"];
                            Camara cam          = new Camara("");
                            cam.ID = idcamara;
                            short      idpuntoventa = (short)datareader["fk_ID_PuntoVenta"];
                            PuntoVenta pv           = new PuntoVenta();
                            pv.Id = idpuntoventa;
                            Tula tula = new Tula("");
                            tula.ID     = (int)datareader["fk_ID_Tula"];
                            tula.Codigo = (string)datareader["Tula"];
                            short       idcliente = (short)datareader["fk_ID_Cliente"];
                            Monedas     mon       = (Monedas)datareader["Moneda"];
                            Colaborador col       = new Colaborador();
                            col.ID               = (int)datareader["fk_ID_Cajero"];
                            col.Nombre           = (string)datareader["Nombre"];
                            col.Primer_apellido  = (string)datareader["Primer_Apellido"];
                            col.Segundo_apellido = (string)datareader["Segundo_Apellido"];
                            Cliente cli = new Cliente();
                            cli.Id     = idcliente;
                            cli.Nombre = (string)datareader["Cliente"];
                            Decimal    montodeclarado = Convert.ToDecimal(datareader["Monto_Declarado"]);
                            Manifiesto man            = new Manifiesto();
                            man.Codigo = codigo;
                            man.ID     = idmanifiesto;
                            byte tipoprocesamiento = (byte)datareader["Tipo_Procesamiento"];
                            byte mixta             = (byte)datareader["Mixta"];
                            ProcesamientoAltoVolumenDetalle procesodetalle = new ProcesamientoAltoVolumenDetalle(codigo: "", id: idproceso, idtula: tula, cajero_receptor: col, headercard: headercard,
                                                                                                                 tipo: mixta, moneda: mon, monto: montodeclarado);
                            proceso         = new ProcesamientoAltoVolumen();
                            proceso.ID      = idprocesoAV;
                            proceso.Detalle = new BindingList <ProcesamientoAltoVolumenDetalle>();
                            proceso.agregarDetalle(procesodetalle);
                            proceso.Cajero     = col;
                            proceso.Camara     = cam;
                            proceso.Cliente    = cli;
                            proceso.Manifiesto = man;
                            proceso.PuntoVenta = pv;
                            proceso.Tipo       = tipoprocesamiento;
                            proceso.Moneda     = mon;
                        }
                    }
                }
                comando.Connection.Close();
                return(proceso);
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("AgregarDepositoProcesoBajoVolumen");
            }
        }