Beispiel #1
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;
                }
            }
        }
        /// <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");
            }
        }
        /// <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);
            }
        }
        /// <summary>
        /// Eliminar los datos de un cartucho de una carga de un ATM.
        /// </summary>
        /// <param name="c">Objeto CartuchoCargaATM con los datos del cartucho</param>
        public void eliminarCartuchoCargaATM(CartuchoCargaATM 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>
        /// Actualizar la cantidad de fórmulas descargadas de un cartucho de una carga.
        /// </summary>
        /// <param name="c">Objeto CartuchoCargaATM con los datos del cartucho</param>
        public void actualizarCartuchoCargaATMCantidadDescarga(CartuchoCargaATM c)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("UpdateCartuchoCargaATMCantidadDescarga");

            _manejador.agregarParametro(comando, "@cantidad_descarga", c.Cantidad_descarga, SqlDbType.SmallInt);
            _manejador.agregarParametro(comando, "@cartucho", c, SqlDbType.Int);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorCartuchoCargaATMActualizacion");
            }
        }
        /// <summary>
        /// Registrar en el sistema el cartucho de una carga.
        /// </summary>
        /// <param name="c">Objeto CartuchoCargaATM con los datos del cartucho</param>
        public void agregarCartuchoCargaATM(ref CartuchoCargaATM c)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertCartuchoCargaATM");

            _manejador.agregarParametro(comando, "@denominacion", c.Denominacion, SqlDbType.TinyInt);
            _manejador.agregarParametro(comando, "@cantidad_asignada", c.Cantidad_asignada, SqlDbType.SmallInt);
            _manejador.agregarParametro(comando, "@carga", c.Movimiento, SqlDbType.Int);

            try
            {
                c.ID = (int)_manejador.ejecutarEscalar(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorCartuchoCargaATMRegistro");
            }
        }
Beispiel #7
0
        /// <summary>
        /// Actualizar los datos de un cartucho.
        /// </summary
        private void actualizarCartucho(DataGridViewRow fila)
        {
            try
            {
                CartuchoCargaATM cartucho = (CartuchoCargaATM)fila.DataBoundItem;

                _coordinacion.actualizarCartuchoCargaATMCantidad(cartucho);

                _carga.Cartuchos = (BindingList <CartuchoCargaATM>)dgvMontosCarga.DataSource;

                BindingList <CargaATM> _carguita = new BindingList <CargaATM>();
                _carguita.Add(_carga);

                _coordinacion.guardarDatosATMINFO(_carguita, "M");
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }
Beispiel #8
0
        /// <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];
                CartuchoCargaATM cartucho     = (CartuchoCargaATM)fila.DataBoundItem;
                Denominacion     denominacion = cartucho.Denominacion;
                ImageList        lista        = null;

                switch (_carga.Tipo)
                {
                case TiposCartucho.Opteva: lista = imlConfiguracionOpteva; break;

                case TiposCartucho.Diebold: lista = imlConfiguracionDiebold; break;
                }

                fila.Cells[Configuracion.Index].Value = lista.Images[(byte)denominacion.Id_imagen];
                fila.Cells[Denominacion.Index].Value  = imlBilletes.Images[(byte)denominacion.Id_imagen];
                fila.Cells[Revisado.Index].Value      = false;
            }
        }