Exemplo n.º 1
0
        /// <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);
        }