Ejemplo n.º 1
0
        private float CalcularGanancias(Llamada.TipoDeLlamada tipo)
        {
            float recaudacion = 0;

            switch (tipo)
            {
            case Llamada.TipoDeLlamada.Todas:
                foreach (Llamada l in this._listaDeLlamadas)
                {
                    if (l is Local)
                    {
                        recaudacion += ((Local)l).CostoLlamada;
                    }
                    else
                    {
                        recaudacion += ((Provincial)l).CostoLlamada;
                    }
                }
                break;

            case Llamada.TipoDeLlamada.Local:
                foreach (Llamada l in this._listaDeLlamadas)
                {
                    if (l is Local)
                    {
                        recaudacion += ((Local)l).CostoLlamada;
                    }
                }
                break;

            case Llamada.TipoDeLlamada.Provincial:
                foreach (Llamada l in this._listaDeLlamadas)
                {
                    if (l is Provincial)
                    {
                        recaudacion += ((Provincial)l).CostoLlamada;
                    }
                }
                break;
            }

            return(recaudacion);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// CalcularGanancia será privado. Este método recibe un Enumerado TipoLlamada y retornará
        /// el valor de lo recaudado, según el criterio elegido (ganancias por las llamadas del tipo Local,
        /// Provincial o de Todas según corresponda).
        /// </summary>
        /// <param name="tipo"></param>
        /// <returns></returns>
        private float CalcularGanancia(Llamada.TipoDeLlamada tipo)
        {
            float ganacia = 0;

            foreach (Llamada llamada in listaDeLlamadas)
            {
                if (llamada is Local && (tipo == Llamada.TipoDeLlamada.Local || tipo == Llamada.TipoDeLlamada.Todas))
                {
                    Local local = (Local)llamada;
                    ganacia += local.CostoLlamada;
                }
                else if (llamada is Provincial && (tipo == Llamada.TipoDeLlamada.Provincial || tipo == Llamada.TipoDeLlamada.Todas))
                {
                    Provincial provincial = (Provincial)llamada;
                    ganacia += provincial.CostoLlamada;
                }
            }
            return(ganacia);
        }