Ejemplo n.º 1
0
        /// <summary>
        /// Obtener los cartuchos de una carga de un ATM.
        /// </summary>
        /// <param name="a">Parámetro que indica si se mostrarán los cartuchos anulados</param>
        /// <param name="c">Objeto CargaATM con los datos de la carga</param>
        public void obtenerCartuchosCargaATM(ref CargaATM c, bool a)
        {
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectCartuchosCargaATM");
            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"];
                    short  cantidad_asignada = (short)datareader["Cantidad_Asignada"];
                    short  cantidad_carga    = (short)datareader["Cantidad_Carga"];
                    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"];
                    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, codigo: codigo,
                                                                 id_imagen: id_imagen, configuracion_diebold: configuracion_diebold,
                                                                 configuracion_opteva: configuracion_opteva);

                    Cartucho cartucho = null;

                    if (datareader["ID_Cartucho"] != DBNull.Value)
                    {
                        int           id_cartucho = (int)datareader["ID_Cartucho"];
                        string        numero      = (string)datareader["Numero"];
                        TiposCartucho tipo        = (TiposCartucho)datareader["Tipo"];

                        cartucho = new Cartucho(numero, id: id_cartucho, denominacion: denominacion, tipo: tipo);
                    }

                    CartuchoCargaATM cartucho_carga = new CartuchoCargaATM(denominacion, id: id_cartucho_carga, marchamo: marchamo,
                                                                           movimiento: c, cantidad_descarga: cantidad_descarga,
                                                                           cantidad_carga: cantidad_carga, cantidad_asignada: cantidad_asignada,
                                                                           cartucho: cartucho, anulado: anulado);

                    c.agregarCartucho(cartucho_carga);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Asignar los cartuchos de una carga y determinar si el monto erra correcto.
        /// </summary>
        private void asignarCartuchos(Celda celda_monto, ref CargaATM carga)
        {
            decimal monto = 0;

            if ((decimal.TryParse(celda_monto.Valor, out monto) && monto > 0))
            {
                Denominacion denominacion = _denominaciones[celda_monto.Columna];

                short  cantidad_total     = (short)Math.Ceiling(monto / denominacion.Valor);
                double numero_cartuchos   = (double)cantidad_total / (double)denominacion.Formulas_maximas;
                int    cantidad_cartuchos = (int)Math.Ceiling(numero_cartuchos);
                short  cantidad_cartucho  = (short)(cantidad_total / cantidad_cartuchos);

                cantidad_cartucho = (short)(100 * (int)Math.Ceiling((decimal)(cantidad_cartucho / 100)));

                for (int contador = 0; contador < cantidad_cartuchos; contador++)
                {
                    CartuchoCargaATM cartucho = new CartuchoCargaATM(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;
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Leer el monto solicitado para un cartucho.
        /// </summary>
        private void leerMonto(Celda celda_monto, ref CargaATM carga)
        {
            decimal total = 0;

            if ((decimal.TryParse(celda_monto.Valor, out total) && total > 0))
            {
                Denominacion     denominacion = _denominaciones[celda_monto.Columna];
                short            cantidad     = (short)(total / denominacion.Valor);
                CartuchoCargaATM cartucho     = new CartuchoCargaATM(movimiento: carga, cantidad_asignada: cantidad, denominacion: denominacion);

                carga.agregarCartucho(cartucho);
            }
        }