예제 #1
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();
     }
 }
 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();
     }
 }