예제 #1
0
        private float CalcularGanancia(TipoLlamada tipo)
        {
            float resultado = 0;

            foreach (Llamada llamada in listaDeLlamadas)
            {
                switch (tipo)
                {
                case TipoLlamada.Local:
                    if (llamada is Local)
                    {
                        Local local = (Local)llamada;
                        resultado = resultado + local.CostoLlamada;
                    }
                    break;

                case TipoLlamada.Provincial:
                    if (llamada is Provincial)
                    {
                        Provincial provincia = (Provincial)llamada;
                        resultado = resultado + provincia.CostoLlamada;
                    }
                    break;

                case TipoLlamada.Todas:
                    if (llamada is Local)
                    {
                        Local local = (Local)llamada;
                        resultado = resultado + local.CostoLlamada;
                    }
                    else if (llamada is Provincial)
                    {
                        Provincial provincia = (Provincial)llamada;
                        resultado = resultado + provincia.CostoLlamada;
                    }
                    break;
                }
            }

            return(resultado);
        }
예제 #2
0
        private void btnLlamar_Click(object sender, EventArgs e)
        {
            int    duracion;
            Random randomDuracion = new Random();

            duracion = randomDuracion.Next(1, 50);

            if (txtNroDestino.Text != "Nro de Destino" && txtNroOrigen.Text != "Nro de Origen" && txtNroDestino.Text != "" && txtNroOrigen.Text != "")
            {
                try
                {
                    if (cmbFranja.Enabled)
                    {
                        Provincial llamadaProv = new Provincial(txtNroOrigen.Text, (Provincial.Franja)cmbFranja.SelectedValue, duracion, txtNroDestino.Text);
                        centralita += llamadaProv;
                        MessageBox.Show("La llamada fue realizada", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        float  costo;
                        Random randomCosto = new Random();
                        costo  = randomCosto.Next(1, 5);
                        costo *= (float)randomCosto.NextDouble();
                        Local llamadaLocal = new Local(txtNroOrigen.Text, duracion, txtNroDestino.Text, costo);
                        centralita += llamadaLocal;
                        MessageBox.Show("La llamada fue realizada", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (CentralitaException ex)
                {
                    MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                MessageBox.Show("Debe completar todos los datos para llamar", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            Limpiar();
        }
예제 #3
0
        static void Main(string[] args)
        {
            Console.Title = "CentralitaHerencia";

            Centralita centralitaUno = new Centralita("Telefonica");

            Local      llamadaUno    = new Local("Once", "Palermo", 30, 2.65f);
            Provincial llamadaDos    = new Provincial("Once", Franja.Franja_1, 21, "Misiones");
            Local      llamadaTres   = new Local("Once", "Belgrano", 45, 1.99f);
            Provincial llamadaCuatro = new Provincial(Franja.Franja_3, llamadaDos);

            centralitaUno.Llamadas.Add(llamadaUno);
            centralitaUno.Llamadas.Add(llamadaDos);
            centralitaUno.Llamadas.Add(llamadaTres);
            centralitaUno.Llamadas.Add(llamadaCuatro);

            centralitaUno.Mostrar();

            //centralitaUno


            Console.ReadKey();
        }
예제 #4
0
        private void btnLlamar_Click(object sender, EventArgs e)
        {
            Random random       = new Random();
            float  randDuracion = random.Next(1, 50);
            float  randCosto    = (float)(random.NextDouble() * (5.6 - 0.5) + 0.5);
            string nroDestino   = this.txtNumeroDestino.Text;
            string nroOrigen    = this.txtNumeroOrigen.Text;

            Provincial.Franja franja;
            Enum.TryParse <Provincial.Franja>(cmbFranja.SelectedValue.ToString(), out franja);

            if (nroDestino.StartsWith("#"))
            {
                Provincial llamada = new Provincial(nroOrigen, franja, randDuracion, nroDestino);
                this.centralita += llamada;
                llamada.Guardar();
            }
            else
            {
                Local llamada = new Local(nroOrigen, randDuracion, nroDestino, randCosto);
                try
                {
                    this.centralita += llamada;
                    llamada.Guardar();
                }
                catch (CentralitaException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (FallaLogException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

            this.txtNumeroDestino.Clear();
        }
예제 #5
0
        static void Main(string[] args)
        {
            // Mi central
            Centralita c = new Centralita("Fede Center");
            // Mis 4 llamadas
            Local      l1 = new Local("Bernal", 30, "Rosario", 2.65f);
            Provincial l2 = new Provincial("Morón", Provincial.Franja.Franja_1, 21, "Bernal");
            Local      l3 = new Local("Lanús", 45, "San Rafael", 1.99f);
            Provincial l4 = new Provincial(Provincial.Franja.Franja_3, l2);

            // Las llamadas se irán registrando en la Centralita.
            // La centralita mostrará por pantalla todas las llamadas según las vaya registrando.
            c.Llamadas.Add(l1);
            Console.WriteLine(c.Mostrar());
            c.Llamadas.Add(l2);
            Console.WriteLine(c.Mostrar());
            c.Llamadas.Add(l3);
            Console.WriteLine(c.Mostrar());
            c.Llamadas.Add(l4);
            Console.WriteLine(c.Mostrar());
            c.OrdenarLlamadas();
            Console.WriteLine(c.Mostrar());
            Console.ReadKey();
        }
예제 #6
0
        static void Main(string[] args)
        {
            // Mi central
            Centralita c = new Centralita("Fede Center");
            // Mis 4 llamadas
            Local      l1 = new Local("Bernal", 30, "Rosario", 2.65f);
            Provincial l2 = new Provincial("Morón", Provincial.Franja.Franja_1, 21, "Bernal");
            Local      l3 = new Local("Lanús", 45, "San Rafael", 1.99f);
            Provincial l4 = new Provincial(Provincial.Franja.Franja_3, l2);

            // Las llamadas se irán registrando en la Centralita.
            // La centralita mostrará por pantalla todas las llamadas según las vaya registrando.
            try
            {
                c = c + l1;
                Console.WriteLine(c.Mostrar());
            }
            catch (CentralitaException ex)
            {
                Console.WriteLine($"{ex.Message} {ex.NombreClase} {ex.NombreMetodo}");
            }



            try
            {
                c = c + l2;
                Console.WriteLine(c.Mostrar());
            }
            catch (CentralitaException ex)
            {
                Console.WriteLine($"{ex.Message} {ex.NombreClase} {ex.NombreMetodo}");
            }
            //c.Llamadas.Add(l2);


            try
            {
                c = c + l3;
                Console.WriteLine(c.Mostrar());
            }
            catch (CentralitaException ex)
            {
                Console.WriteLine($"{ex.Message} {ex.NombreClase} {ex.NombreMetodo}");
            }
            //c.Llamadas.Add(l3);


            try
            {
                c = c + l4;
                Console.WriteLine(c.Mostrar());
            }
            catch (CentralitaException ex)
            {
                Console.WriteLine($"{ex.Message} {ex.NombreClase} {ex.NombreMetodo}");
            }
            //c.Llamadas.Add(l4);


            //c.OrdenarLlamadas();
            Console.WriteLine(c.Mostrar());
            Console.ReadKey();
        }
예제 #7
0
        static void Main(string[] args)
        {
            // Mi central
            Centralita c = new Centralita("Fede Center");
            // Mis 4 llamadas
            Local      l1 = new Local("Bernal", 30, "Rosario", 2.65f);
            Provincial l2 = new Provincial("Morón", Provincial.Franja.Franja_1, 21, "Bernal");
            Local      l3 = new Local("Lanús", 45, "San Rafael", 1.99f);
            Provincial l4 = new Provincial(Provincial.Franja.Franja_3, l2);

            // Las llamadas se irán registrando en la Centralita.
            // La centralita mostrará por pantalla todas las llamadas según las vaya registrando.
            try {
                c += l1;
                Console.WriteLine(c.ToString());
            }
            catch (CentralitaException ex)
            {
                Console.WriteLine("Ocurrio el error: {0} \nEn la clase {1}\nEn el metodo {2}.", ex.Message, ex.NombreClase, ex.NombreMetodo);
            }catch (Exception)
            {
                Console.WriteLine("Ocurrio un error inesperado.");
            }
            try
            {
                c += l2;
                Console.WriteLine(c.ToString());
            }
            catch (CentralitaException ex)
            {
                Console.WriteLine("Ocurrio el error: {0} \nEn la clase {1}\nEn el metodo {2}.", ex.Message, ex.NombreClase, ex.NombreMetodo);
            }
            catch (Exception)
            {
                Console.WriteLine("Ocurrio un error inesperado.");
            }
            try
            {
                c += l3;
                Console.WriteLine(c.ToString());
            }
            catch (CentralitaException ex)
            {
                Console.WriteLine("Ocurrio el error: {0} \nEn la clase {1}\nEn el metodo {2}.", ex.Message, ex.NombreClase, ex.NombreMetodo);
            }
            catch (Exception)
            {
                Console.WriteLine("Ocurrio un error inesperado.");
            }
            try
            {
                c += l3;
                Console.WriteLine(c.ToString());
            }
            catch (CentralitaException ex)
            {
                Console.WriteLine("Ocurrio el error: {0} \nEn la clase {1}\nEn el metodo {2}.\n", ex.Message, ex.NombreClase, ex.NombreMetodo);
            }
            catch (Exception)
            {
                Console.WriteLine("Ocurrio un error inesperado.");
            }
            try
            {
                c += l4;
                Console.WriteLine(c.ToString());
            }
            catch (CentralitaException ex)
            {
                Console.WriteLine("Ocurrio el error: {0} \nEn la clase {1}\nEn el metodo {2}.", ex.Message, ex.NombreClase, ex.NombreMetodo);
            }
            catch (Exception)
            {
                Console.WriteLine("Ocurrio un error inesperado.");
            }
            c.OrdenarLlamadas();
            Console.WriteLine("--------------------------------");
            Console.WriteLine(c.ToString());
            Console.ReadKey();
        }