Example #1
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());
            Console.WriteLine("------------------");

            c.Llamadas.Add(l2);
            Console.WriteLine(c.Mostrar());
            Console.WriteLine("------------------");

            c.Llamadas.Add(l3);
            Console.WriteLine(c.Mostrar());
            Console.WriteLine("------------------");

            c.Llamadas.Add(l4);
            Console.WriteLine(c.Mostrar());
            Console.WriteLine("------------------");

            c.OrdenarLlamadas();
            Console.WriteLine("[ORDENADAS POR DURACION]");
            Console.WriteLine(c.Mostrar());
            Console.WriteLine("------------------");

            Console.ReadKey();

            Console.WriteLine("Hello World!");
        }
        private void BtnLlamar_Click(object sender, EventArgs e)
        {
            //En la consigna nos piden que haya duracion y costo random
            Random random   = new Random();
            int    duracion = random.Next(1, 50);
            float  costo    = random.Next(5, 56) / 10; //Lo divido por 10 porque no me deja float

            txtNroOrigen.Text  = "";
            txtNroDestino.Text = "";

            if (txtNroOrigen.Text != "" && txtNroDestino.Text != "")
            {
                try
                {
                    if (txtNroDestino.Text[0] == '#')
                    {
                        //Hay que brindarle los datos a los combo box de esta forma
                        Provincial        provincial;
                        Provincial.Franja franjas;

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

                        switch (franjas)
                        {
                        case Provincial.Franja.Franja_1:
                            provincial = new Provincial(txtNroOrigen.Text, Provincial.Franja.Franja_1, duracion, txtNroDestino.Text);
                            //centralitaLlamador.Llamadas.Add((Llamada)provincial); si no tuviera la sobrecarga de op haria esto
                            centralitaLlamador += provincial;
                            break;

                        case Provincial.Franja.Franja_2:
                            provincial          = new Provincial(txtNroOrigen.Text, Provincial.Franja.Franja_2, duracion, txtNroDestino.Text);
                            centralitaLlamador += provincial;
                            break;

                        case Provincial.Franja.Franja_3:
                            provincial          = new Provincial(txtNroOrigen.Text, Provincial.Franja.Franja_3, duracion, txtNroDestino.Text);
                            centralitaLlamador += provincial;
                            break;

                        default:
                            MessageBox.Show("No ingresó Franja válida", "Error", MessageBoxButtons.OK);
                            break;
                        }
                    }
                    else
                    {
                        cmbFranja.Enabled = false;//Deshabilito el comboBox
                        Local local = new Local(txtNroDestino.Text, duracion, txtNroOrigen.Text, costo);
                        centralitaLlamador += local;
                    }

                    MessageBox.Show("Llamada realizada con éxito..!!", "Llamada procesada", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (CentralitaExcepcion)
                {
                    MessageBox.Show("La llamada ya existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                }
            }
            else
            {
                MessageBox.Show("Números de origen o destino faltantes", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }