/// <summary> /// Asignar los cartuchos de una carga y determinar si el monto erra correcto. /// </summary> private void asignarCartuchos(Celda celda_monto, ref PedidoNiquel carga) { decimal monto = 0; if ((decimal.TryParse(celda_monto.Valor, out monto) && monto > 0)) { Denominacion denominacion = _denominaciones[celda_monto.Columna]; double cantidad_total = (double)Math.Ceiling(monto / denominacion.Valor); double cantidad_cartucho = (double)(monto / denominacion.Valor); //cantidad_cartucho = (short)(100 * (int)Math.Ceiling((decimal)(cantidad_cartucho / 100))); CartuchosNiquel cartucho = new CartuchosNiquel(movimiento: carga, cantidad_asignada: cantidad_cartucho, denominacion: denominacion); carga.agregarCartucho(cartucho); switch (denominacion.Moneda) { case Monedas.Colones: carga.Monto_pedido_colones += monto; break; case Monedas.Dolares: carga.Monto_pedido_dolares += monto; break; } } }
/// <summary> /// Actualizar los datos del cartucho de una carga de una Sucursal. /// </summary> /// <param name="c">Objeto CartuchosNiquel con los datos del cartucho</param> public void actualizarCartuchosNiquel(ref CartuchosNiquel c) { SqlCommand comando = _manejador.obtenerProcedimiento("UpdateCartuchoPedidoNiquel"); _manejador.agregarParametro(comando, "@cartucho", c, SqlDbType.Int); if (c.Monto_carga != 0) { _manejador.agregarParametro(comando, "@cantidad", c.Monto_carga / c.Denominacion.Valor, SqlDbType.Int); } else { _manejador.agregarParametro(comando, "@cantidad", c.Monto_asignado / c.Denominacion.Valor, SqlDbType.Int); } _manejador.agregarParametro(comando, "@comentario", c.Comentario, SqlDbType.NVarChar); try { _manejador.ejecutarEscalar(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorCartuchoCargaATMActualizacion"); } }
/// <summary> /// Actualizar los datos de un cartucho. /// </summary private void actualizarCartucho(DataGridViewRow fila) { try { CartuchosNiquel cartucho = (CartuchosNiquel)fila.DataBoundItem; if (cartucho.Cantidad_carga % 100 == 0) { frmObservaciones formulario = new frmObservaciones(); formulario.Padre9 = this; formulario.ShowDialog(); cartucho.Comentario = _comentario; dgvMontosCarga.Rows[fila.Index].Cells[4].ErrorText = ""; _coordinacion.actualizarCartuchoPedidoNiquel(cartucho); } else { dgvMontosCarga.Rows[fila.Index].Cells[4].ErrorText = "Dato Incorrecto"; } } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Se agregan cartuchos a la lista de cartuchos. /// </summary> private void dgvCartuchos_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) { for (int contador = 0; contador < e.RowCount; contador++) { DataGridViewRow fila = dgvCartuchos.Rows[e.RowIndex + contador]; CartuchosNiquel cartucho = (CartuchosNiquel)fila.DataBoundItem; Denominacion denominacion = cartucho.Denominacion; } }
/// <summary> /// Se selecciona otro cartucho de la lista de cartuchos. /// </summary private void dgvMontosCarga_SelectionChanged(object sender, EventArgs e) { if (dgvMontosCarga.SelectedCells.Count > 0) { DataGridViewCell celda = dgvMontosCarga.SelectedCells[0]; CartuchosNiquel cartucho = (CartuchosNiquel)celda.OwningRow.DataBoundItem; PedidoNiquel carga = (PedidoNiquel)dgvCargas.SelectedRows[0].DataBoundItem; Denominacion denominacion = cartucho.Denominacion; celda.Style.SelectionBackColor = _colores[(byte)denominacion.Id_imagen]; } }
/// <summary> /// Obtener los cartuchos de una carga de una Sucursal. /// </summary> /// <param name="a">Parámetro que indica si se mostrarán los cartuchos anulados</param> /// <param name="c">Objeto PedidoNiquel con los datos de la carga</param> public void obtenerCartuchosPedidoNiquel(ref PedidoNiquel c, bool a) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectCartuchosNiquel"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@anulado", a, SqlDbType.Bit); _manejador.agregarParametro(comando, "@carga", c.ID, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_cartucho_carga = (int)datareader["ID_Cartucho_Carga"]; decimal cantidad_asignadan = (decimal)datareader["Cantidad_Asignada"]; double cantidad_asignada = (double)cantidad_asignadan; bool anulado = (bool)datareader["Anulado"]; byte id_denominacion = (byte)datareader["ID_Denominacion"]; decimal valor = (decimal)datareader["Valor"]; Monedas moneda = (Monedas)datareader["Moneda"]; bool es_moneda = (bool)datareader["EsMoneda"]; Denominacion denominacion = new Denominacion(id: id_denominacion, valor: valor, moneda: moneda, esmoneda: es_moneda); CartuchosNiquel bolsa_carga = new CartuchosNiquel(denominacion, id: id_cartucho_carga, movimiento: c, cantidad_asignada: cantidad_asignada, anulado: anulado); c.agregarCartucho(bolsa_carga); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Eliminar los datos de un cartucho de una carga de un Sucursal. /// </summary> /// <param name="c">Objeto CartuchosNiquel con los datos del cartucho</param> public void eliminarCartuchoCargaATM(CartuchosNiquel c) { SqlCommand comando = _manejador.obtenerProcedimiento("DeleteCartuchoCargaATM"); _manejador.agregarParametro(comando, "@cartucho", c, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorCartuchoCargaATMEliminacion"); } }
/// <summary> /// Registrar en el sistema el cartucho de una carga. /// </summary> /// <param name="c">Objeto CartuchosNiqueles con los datos del cartucho</param> public void agregarCartuchosNiqueles(ref CartuchosNiquel c) { SqlCommand comando = _manejador.obtenerProcedimiento("InsertCartuchosNiquel"); _manejador.agregarParametro(comando, "@denominacion", c.Denominacion, SqlDbType.TinyInt); _manejador.agregarParametro(comando, "@cantidad_asignada", c.Cantidad_asignada, SqlDbType.Float); _manejador.agregarParametro(comando, "@carga", c.Movimiento, SqlDbType.Int); _manejador.agregarParametro(comando, "@comentario", c.Comentario, SqlDbType.NVarChar); try { c.ID = (int)_manejador.ejecutarEscalar(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorCartuchosNiquelRegistro"); } }
/// <summary> /// Actualizar la cantidad de formulas cargadas del cartucho de una carga de una Sucrusal. /// </summary> /// <param name="c">Objeto CartuchosNiquel con los datos del cartucho</param> public void actualizarCartuchosNiquelCantidad(CartuchosNiquel c) { SqlCommand comando = _manejador.obtenerProcedimiento("UpdateCartuchosNiquelCantidad"); _manejador.agregarParametro(comando, "@anulado", c.Anulado, SqlDbType.Bit); _manejador.agregarParametro(comando, "@cantidad_carga", c.Cantidad_carga, SqlDbType.SmallInt); _manejador.agregarParametro(comando, "@cartucho", c, SqlDbType.Int); _manejador.agregarParametro(comando, "@comentario", c.Comentario, SqlDbType.NVarChar); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorCartuchosNiquelesActualizacion"); } }
/// <summary> /// Se cambia el número de cartucho de un cartucho. /// </summary private void dgvMontosCarga_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if (dgvMontosCarga.RowCount > 0) { try { DataGridViewRow fila = dgvMontosCarga.Rows[e.RowIndex]; DataGridViewCell celda = fila.Cells[e.ColumnIndex]; CartuchosNiquel cartucho_carga = (CartuchosNiquel)fila.DataBoundItem; _coordinacion.actualizarCartuchoPedidoNiquel(cartucho_carga); this.validarOpcionesCarga(); } catch (Excepcion ex) { ex.mostrarMensaje(); } } }
/// <summary> /// Se valida la selección del cartucho. /// </summary private void dgvMontosCarga_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { DataGridViewRow fila = dgvMontosCarga.Rows[e.RowIndex]; DataGridViewCell celda = fila.Cells[e.ColumnIndex]; PedidoNiquel carga = (PedidoNiquel)dgvCargas.SelectedRows[0].DataBoundItem; CartuchosNiquel cartucho_carga = (CartuchosNiquel)fila.DataBoundItem; if (e.Value == null || e.Value.Equals(string.Empty)) { return; } if (e.ColumnIndex == NumeroMarchamoCarga.Index) { return; } try { string numero_cartucho = e.Value.ToString(); Denominacion denominacion_cartucho = cartucho_carga.Denominacion; Cartucho cartucho = new Cartucho(numero_cartucho); cartucho.Denominacion = denominacion_cartucho; e.Value = cartucho; e.ParsingApplied = true; } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Asignar los cartuchos de una carga y determinar si el monto erra correcto. /// </summary> private void asignarCartuchos(double p_monto, ref PedidoNiquel carga, Denominacion denominacion) { decimal monto = Convert.ToDecimal(p_monto); //Denominacion denominacion = new Denominacion(valor: Convert.ToDecimal(p_monto), moneda: moneda); _mantenimiento.verificarDenominacion(ref denominacion); double cantidad_total = (double)Math.Ceiling(monto / denominacion.Valor); double cantidad_cartucho = (double)(monto / denominacion.Valor); // cantidad_cartucho = (short)(100 * (int)Math.Ceiling((decimal)(cantidad_cartucho / 100))); CartuchosNiquel cartucho = new CartuchosNiquel(movimiento: carga, cantidad_asignada: cantidad_cartucho, denominacion: denominacion); frmObservaciones formulario = new frmObservaciones(); formulario.Padre8 = this; formulario.ShowDialog(); cartucho.Comentario = _comentario; carga.agregarCartucho(cartucho); switch (denominacion.Moneda) { case Monedas.Colones: carga.Monto_pedido_colones += monto; break; case Monedas.Dolares: carga.Monto_pedido_dolares += monto; break; case Monedas.Euros: carga.Monto_pedido_euros += monto; break; } _coordinacion.actualizarPedidoNiquel(carga); }