/// <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); } }
/// <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); } }