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