Esempio n. 1
0
 /// <summary>
 /// Deposita un objeto moneda en la alcancía, modifica los atributos asociativos de ambos
 /// </summary>
 /// <param name="parObjMoneda">Parámetro de tipo clsMONEDA</param>
 /// <param name="parMensajeResultadoDepositarMoneda">Parámetro de tipo string por referencia para indicar el éxtio o fracaso</param>
 public void transDepositarObjMoneda(clsMONEDA parObjMoneda, ref string parMensajeResultadoDepositarMoneda)
 {
     if (EsValidaDenominacion(parObjMoneda))
     {
         parObjMoneda.AsociadorObjAlcancia(this);
         this.AsociarObjMoneda(parObjMoneda);
         this.ActualizarSaldoConteoMonedas(parObjMoneda, 1);
         parMensajeResultadoDepositarMoneda = "Se depositó la moneda exitosamente";
     }
 }
Esempio n. 2
0
 /// <summary>
 ///  Retira un objeto moneda de la alcancía, modifica los atributos asociativos de ambos
 /// </summary>
 /// <param name="parObjMoneda">Parámetro de tipo clsMONEDA</param>
 /// <param name="parMensajeResultadoDepositarMoneda">Parámetro de tipo string por referencia para indicar el éxtio o fracaso</param>
 public void transRetirarObjMoneda(clsMONEDA parObjMoneda, ref string parMensajeResultadoDepositarMoneda)
 {
     if (EncontrarMonedaEnAlcancia(parObjMoneda))
     {
         parObjMoneda.DisociarObjAlcancia(this);
         this.DisociarObjMoneda(parObjMoneda);
         this.ActualizarSaldoConteoMonedas(parObjMoneda, (-1));
         parMensajeResultadoDepositarMoneda = "Se retiró la moneda exitosamente";
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Verifica si la denominación de un objeto moneda es admitida en el objeto alcancía
 /// </summary>
 /// <param name="parObjMoneda">Parámetro de tipo clsMONEDA</param>
 /// <returns>Returna el éxito o fracaso de la operación por medio de un bool</returns>
 bool EsValidaDenominacion(clsMONEDA parObjMoneda)
 {
     for (int varIndice = 0; varIndice < this.atrVectorDenominacionesAceptables.Length; varIndice++)
     {
         if (parObjMoneda.ObtenerDenominacion() == this.atrVectorDenominacionesAceptables[varIndice])
         {
             return(true);
         }
     }
     return(false);
 }
Esempio n. 4
0
        /// <summary>
        /// Recibe un parámetro de tipo clsMONEDA y un factor que indicará el aumento o decremento de los atributos derivables. Actualiza el saldo total de la alcancía, el saldo total por denominaciones, la cantidad de monedas de la alcancía y la cantidad de monedas por denominación
        /// </summary>
        /// <param name="parObjeto">Parámetro de tipo clsMONEDA</param>
        /// <param name="parFactor">Parámetro de tipo entero. 1 para incrementar, -1 para decrementar</param>
        public void ActualizarSaldoConteoMonedas(clsMONEDA parObjeto, int parFactor)
        {
            this.atrSaldoTotalMonedas += (uint)((parObjeto.ObtenerDenominacion() * parFactor));
            this.atrConteoTotalMonedas = (byte)(atrConteoTotalMonedas + parFactor);

            for (int varPosicion = 0; varPosicion < this.atrVectorDenominacionesAceptables.Length; varPosicion++)
            {
                if (parObjeto.ObtenerDenominacion() == this.atrVectorDenominacionesAceptables[varPosicion])
                {
                    this.atrVectorSaldoTotalMonedasPorDenominacion[varPosicion] += (uint)(parObjeto.ObtenerDenominacion() * parFactor);
                    this.atrVectorConteoMonedasPorDenominacion[varPosicion]      = (byte)(this.atrVectorConteoMonedasPorDenominacion[varPosicion] + parFactor);
                }
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Encuentra un objeto de tipo moneda en la colección de la alcancía, verifica por medio de la denominación.
        /// </summary>
        /// <param name="parObjMoneda">parámetro de tipo clsMONEDA</param>
        /// <returns></returns>

        bool EncontrarMonedaEnAlcancia(clsMONEDA parObjMoneda)
        {
            for (int varIndice = 0; varIndice < this.atrVectorDenominacionesAceptables.Length; varIndice++)
            {
                if (parObjMoneda.ObtenerDenominacion() == this.atrVectorDenominacionesAceptables[varIndice])
                {
                    for (int varIndice2 = 0; varIndice2 < this.atrColeccionObjsMoneda.Count; varIndice2++)
                    {
                        if (parObjMoneda.ObtenerDenominacion() == this.atrColeccionObjsMoneda[varIndice2].ObtenerDenominacion())
                        {
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
Esempio n. 6
0
 /// <summary>
 /// Método que disocia un objeto de tipo moneda de la alcancía
 /// </summary>
 /// <param name="parObjeto">Parametro de tipo clsMONEDA que instrucciona el metodo</param>
 private void DisociarObjMoneda(clsMONEDA parObjeto)
 {
     this.atrColeccionObjsMoneda.Remove(parObjeto);
 }
Esempio n. 7
0
 /// <summary>
 /// El metodo adiciona un objeto moneda a la alcancia
 /// </summary>
 /// <param name="parObjeto">Parametro de tipo clsMONEDA que instrucciona el metodo</param>
 private void AsociarObjMoneda(clsMONEDA parObjeto)
 {
     this.atrColeccionObjsMoneda.Add(parObjeto);
 }