/// <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 CargaSucursal con los datos de la carga</param> public void obtenerBolsaPedidoBanco(ref PedidoBancos c, bool a) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectBolsasPedidoBanco"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@anulado", a, SqlDbType.Bit); _manejador.agregarParametro(comando, "@carga", c, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_cartucho_carga = (int)datareader["ID_Cartucho_Carga"]; double cantidad_asignada = (double)datareader["Cantidad_Asignada"]; // short cantidad_descarga = (short)datareader["Cantidad_Descarga"]; string marchamo = datareader["Marchamo"] as string; bool anulado = (bool)datareader["Anulado"]; byte id_denominacion = (byte)datareader["ID_Denominacion"]; decimal valor = (decimal)datareader["Valor"]; Monedas moneda = (Monedas)datareader["Moneda"]; CalidadBilletes calidad = new CalidadBilletes(); if (datareader["Calidad"] != DBNull.Value) { calidad.DB_ID = (int)datareader["Calidad"]; calidad.Nombre = (string)datareader["CalidadNombre"]; } //string codigo = (string)datareader["Codigo"]; //string configuracion_diebold = (string)datareader["Configuracion_Diebold"]; //string configuracion_opteva = (string)datareader["Configuracion_Opteva"]; //byte? id_imagen = datareader["ID_Imagen"] as byte?; Denominacion denominacion = new Denominacion(id: id_denominacion, valor: valor, moneda: moneda); BolsaCargaBanco bolsa_carga = new BolsaCargaBanco(denominacion, id: id_cartucho_carga, marchamo: marchamo, movimiento: c, cantidad_asignada: cantidad_asignada, anulado: anulado, calidad: calidad); c.agregarCartucho(bolsa_carga); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Asignar los cartuchos de una carga y determinar si el monto erra correcto. /// </summary> private void asignarCartuchos(double p_monto, ref PedidoBancos 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))); BolsaCargaBanco cartucho = new BolsaCargaBanco(movimiento: carga, cantidad_asignada: cantidad_cartucho, denominacion: denominacion); frmObservaciones formulario = new frmObservaciones(); formulario.Padre7 = 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.actualizarPedidoBanco(carga); }