Пример #1
0
        /// <summary>
        /// Obtener el detalle por denominación de una denominación.
        /// </summary>
        private DetalleDescargaATM obtenerDetalle(Denominacion denominacion)
        {
            if (_detalles_denominacion.ContainsKey(denominacion))
            {
                return(_detalles_denominacion[denominacion]);
            }
            else
            {
                DetalleDescargaATM detalle = new DetalleDescargaATM(denominacion);

                _detalles_denominacion.Add(denominacion, detalle);

                return(detalle);
            }
        }
Пример #2
0
        /// <summary>
        /// Recalcular los detalles por denominación de la descarga.
        /// </summary>
        public void recalcularDetalles()
        {
            foreach (DetalleDescargaATM detalle in _detalles_denominacion.Values)
            {
                detalle.Cantidad_descargada          = 0;
                detalle.Cantidad_cargada             = 0;
                detalle.Cantidad_remanente           = 0;
                detalle.Cantidad_dispensada          = 0;
                detalle.Cantidad_dispensada_cartucho = 0;
                detalle.Cantidad_remanente_cartucho  = 0;
                detalle.Cantidad_dispensada_bolsa    = 0;
                detalle.Cantidad_remanente_bolsa     = 0;
            }

            foreach (CartuchoCargaATM cartucho in _cartuchos)
            {
                DetalleDescargaATM detalle = this.obtenerDetalle(cartucho.Denominacion);

                detalle.Cantidad_descargada += cartucho.Cantidad_descarga;
                detalle.Cantidad_cargada    += cartucho.Cantidad_carga;
            }

            foreach (RechazoDescargaATM rechazo in _rechazos)
            {
                DetalleDescargaATM detalle = this.obtenerDetalle(rechazo.Denominacion);

                if (rechazo._bolsa_rechazo)
                {
                    detalle.Cantidad_dispensada_bolsa += rechazo.Cantidad_descarga;
                }
                else
                {
                    detalle.Cantidad_dispensada_cartucho += rechazo.Cantidad_descarga;
                }
            }



            foreach (ContadorDescargaATM contador in _contadores)
            {
                DetalleDescargaATM detalle = this.obtenerDetalle(contador.Denominacion);

                detalle.Cantidad_remanente          += contador.Cantidad_remanente;
                detalle.Cantidad_dispensada         += contador.Cantidad_dispensada;
                detalle.Cantidad_remanente_cartucho += contador.Cantidad_remanente_cartucho_rechazo;
                detalle.Cantidad_remanente_bolsa    += contador.Cantidad_remanente_bolsa_rechazo;
            }

            _detalles_colones.Clear();
            _detalles_dolares.Clear();
            _detalles.Clear();

            _cuadrada = true;

            foreach (DetalleDescargaATM detalle in _detalles_denominacion.Values)
            {
                switch (detalle.Denominacion.Moneda)
                {
                case Monedas.Colones: _detalles_colones.Add(detalle); break;

                case Monedas.Dolares: _detalles_dolares.Add(detalle); break;
                }

                detalle.Cantidad_descargada += detalle.Cantidad_dispensada_cartucho;

                if (detalle.Cantidad_diferencia_contador != 0 ||
                    detalle.Cantidad_diferencia_remanente != 0)
                {
                    _cuadrada = false;
                }

                _detalles.Add(detalle);
            }
        }