//Si el precio total de la cartuchera supera los 85 pesos, se disparará el evento EventoPrecio. //Diseñarlo (de acuerdo a las convenciones vistas) en la clase cartuchera. //Adaptar la sobrecarga del operador +, para que lance el evento, según lo solicitado. //Crear el manejador necesario para que, una vez capturado el evento, se imprima en un archivo de texto: //la fecha (con hora, minutos y segundos) y el total de la cartuchera (en un nuevo renglón). //Se deben acumular los mensajes. //El archivo se guardará con el nombre 'tickets.log' en la carpeta 'Mis documentos' del cliente. //El manejador de eventos (c_gomas_EventoPrecio) invocará al método (de clase) //ImprimirTicket (se alojará en la clase Ticketeadora), que retorna un booleano //indicando si se pudo escribir o no. private void btnPunto4_Click(object sender, EventArgs e) { //Asociar manejador de eventos (c_gomas_EventoPrecio) aquí //this.c_utiles.EventoPrecio += new Cartuchera<Utiles>.DelegadoLimitePrecio(c_gomas_EventoPrecio); this.c_gomas.EventoPrecio += c_gomas_EventoPrecio; this.c_gomas += new Goma(false, "Faber-Castell", 31); }
static void Main(string[] args) { Cartuchera <Utiles> cartuchera = 4; Lapicera L1 = new Lapicera(23.10, "Parker", "Negra", "Fino"); Lapicera L2 = new Lapicera(3.10, "Bic", "Azul", "Fino"); Lapicera L3 = new Lapicera(10.10, "Faber Castell", "Verde", "Grueso"); Goma G1 = new Goma(3.10, "Faber Castell", true); Goma G2 = new Goma(0.69, "Maped", false); cartuchera.Add(L1); cartuchera.Add(L2); cartuchera.Add(L3); cartuchera.Add(G1); try { cartuchera.Add(G2); } catch (Exception e) { Console.WriteLine(e.Message); } cartuchera.SerializarXml(""); Console.Write(cartuchera.ToString()); Console.ReadKey(); }
static void Main(string[] args) { Cartuchera <Utiles> cartuchera = new Cartuchera <Utiles>("La wea", 5); cartuchera.ElementoAgregadoEvent += ManejadorEventos; Lapicera l1 = new Lapicera(ConsoleColor.Black, "Fino", "Filgo", 8); Lapicera l2 = new Lapicera(ConsoleColor.Magenta, "Medio", "Faber Castell", 10); Lapicera l3 = new Lapicera(ConsoleColor.Red, "Grueso", "Maped", 7); Goma g1 = new Goma(true, "Filgo", 5); Goma g2 = new Goma(false, "Maped", 4); Goma g3 = new Goma(true, "Faber Castell", 6); cartuchera.Agregar(l1); cartuchera.Agregar(l2); cartuchera.Agregar(l3); cartuchera.Agregar(g1); cartuchera.Agregar(g2); cartuchera.Agregar(g3); Console.WriteLine(cartuchera.ObtenerUtilesBD()); Console.Read(); }
static void Main(string[] args) { Cartuchera <Utiles> cartucherita = new Cartuchera <Utiles>("Cartuchera pedorra", 50); /*cartucherita.ElementoAgregadoEvent += new delAgregar(LogAgregarUtil); * Lapicera lapicerita = new Lapicera(5, "BIC", ConsoleColor.Blue, "Ancho"); * Lapicera lapiceritaDos = new Lapicera(50, "Parker", ConsoleColor.Black, "Fino"); * Goma gomita = new Goma(15, "Mapped", true); * Goma gomitaDos = new Goma(2, "Pindorcho", true); * * try { * cartucherita.Agregar(lapicerita); * cartucherita.Agregar(lapiceritaDos); * cartucherita.Agregar(gomita); * cartucherita.Agregar(gomitaDos); * } * catch (CartucheraLlenaException e) { * Console.WriteLine(e.Message); * } * * Console.WriteLine(cartucherita.ToString());*/ cartucherita.ObtenerUtilesBD(); Console.Read(); }
//Si el precio total de la cartuchera supera los 85 pesos, se disparará el evento EventoPrecio. //Diseñarlo (de acuerdo a las convenciones vistas) en la clase cartuchera. //Adaptar la sobrecarga del operador +, para que lance el evento, según lo solicitado. //Crear el manejador necesario para que, una vez capturado el evento, se imprima en un archivo de texto: //la fecha (con hora, minutos y segundos) y el total de la cartuchera (en un nuevo renglón). //Se deben acumular los mensajes. //El archivo se guardará con el nombre 'tickets.log' en la carpeta 'Mis documentos' del cliente. //El manejador de eventos (c_gomas_EventoPrecio) invocará al método (de clase) //ImprimirTicket (se alojará en la clase Ticketeadora), que retorna un booleano //indicando si se pudo escribir o no. private void btnPunto4_Click(object sender, EventArgs e) { //Asociar manejador de eventos (c_gomas_EventoPrecio) aquí this.c_gomas.EventoPrecio += c_gomas_EventoPrecio; this.c_gomas += new Goma(false, "Faber-Castell", 31); }
//Crear, en class library, la clase Cartuchera<T> -> restringir para que sólo lo pueda usar Utiles //o clases que deriven de Utiles. //atributos: capacidad:int y elementos:List<T> (TODOS protegidos) //Propiedades: //Elementos:(sólo lectura) expone al atributo de tipo List<T>. //PrecioTotal:(sólo lectura) retorna el precio total de la cartuchera (la suma de los precios de sus elementos). //Constructor //Cartuchera(), Cartuchera(int); //El constructor por default es el único que se encargará de inicializar la lista. //Métodos: //ToString: Mostrará en formato de tipo string: //el tipo de cartuchera, la capacidad, la cantidad actual de elementos, el precio total y el listado completo //de todos los elementos contenidos en la misma. Reutilizar código. //Sobrecarga de operadores: //(+) Será el encargado de agregar elementos a la cartuchera, //siempre y cuando no supere la capacidad máxima de la misma. private void btnPunto2_Click(object sender, EventArgs e) { this.c_lapices = new Cartuchera <Lapiz>(3); this.c_gomas = new Cartuchera <Goma>(3); this.c_utiles = new Cartuchera <Utiles>(2); try { this.c_lapices += new Lapiz(ConsoleColor.Red, ETipoTrazo.Medio, "Faber-Castell", 25); this.c_lapices += new Lapiz(ConsoleColor.Blue, ETipoTrazo.Fino, "Paper Mate", 30); this.c_lapices += this.lapiz; this.c_gomas += this.goma; this.c_gomas += new Goma(false, "Dos banderas", 25); this.c_utiles += this.lapiz; this.c_utiles += this.goma; MessageBox.Show(this.c_lapices.ToString()); MessageBox.Show(this.c_gomas.ToString()); MessageBox.Show(this.c_utiles.ToString()); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
static void Main(string[] args) { Cartuchera <Utiles> cartuchera = new Cartuchera <Utiles>(2); cartuchera._marca = "Señor Cartuchera"; Lapicera lapicera = new Lapicera("Big", 79, "Roja", "0.5"); cartuchera.eventoCartuchera += new obtenerBD(cartuchera.obtenerUtilesBD); cartuchera.ElementoAgregadoEvent += new ElementoAgregado(ManejadorEventos); cartuchera.ElementoAgregadoEvent += new ElementoAgregado(ManejadorEventos2); cartuchera.Elementos = cartuchera.obtenerUtilesBD(); Console.WriteLine(cartuchera.ToString()); Thread t = new Thread(SegundoPlano); Thread.Sleep(10000); t.Start(); Goma goma = new Goma("", 0.0, true); goma.Marca = "pork"; goma.Precio = 56; goma.soloLapiz = true; try { cartuchera.Add(goma); cartuchera.Add(goma); cartuchera.Add(lapicera); cartuchera.Add(lapicera); } catch (CarucheraLlenaExeption e) { Console.WriteLine(e.Message); } Console.WriteLine(cartuchera.ToString()); string path = AppDomain.CurrentDomain.BaseDirectory + "XML.xml"; string path2 = AppDomain.CurrentDomain.BaseDirectory + "XML2.xml"; cartuchera.SerializarXml(path); cartuchera.DeserializarXml(path); cartuchera.SerializarXML2(path2); cartuchera.DeserializarXml2(path2); lapicera.SerializarXml(path2); Console.ReadLine(); Console.ReadKey(); }
static void Main(string[] args) { Goma g0 = new Goma("Faber", 5.25, true); Goma g1 = new Goma("Stander", 5.60, false); Goma g2 = new Goma("faber", 7.60, true); Lapicera l0 = new Lapicera("bic", 5.60, ConsoleColor.Black, "fino"); Lapicera l1 = new Lapicera("Faber", 7.60, ConsoleColor.Red, "medio"); Lapicera l2 = new Lapicera("Pelican", 8.30, ConsoleColor.Blue, "grueso"); Cartuchera <Utiles> c = new Cartuchera <Utiles>(5); #region agregados try { if (c + l0) { Console.WriteLine("agregado"); } if (c + l1) { Console.WriteLine("agregado"); } if (c + l2) { Console.WriteLine("agregado"); } if (c + g0) { Console.WriteLine("agregado"); } if (c + g1) { Console.WriteLine("agregado"); } if (c + g2) { Console.WriteLine("agregado"); } } catch (CartucheraLLenaException e) { Console.WriteLine(e.Message); } #endregion string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\archList.xml"; c.SerializarXML(path); Console.ReadLine(); Console.WriteLine(c.ToString()); Console.ReadLine(); }
//Agregar un elemento a la cartuchera de útiles, al superar la cantidad máxima, lanzará un CartucheraLlenaException (diseñarla), //cuyo mensaje explicará lo sucedido. private void btnPunto3_Click(object sender, EventArgs e) { try { this.c_utiles += this.lapiz; } catch (CartucheraLlenaException ex) { //Agregar, para la clase CartucheraLlenaException, un método de extensión (InformarNovedad():string) //que retorne el mensaje de error MessageBox.Show(ex.InformarNovedad()); } }
//Si el precio total de la cartuchera supera los 85 pesos, se disparará el evento EventoPrecio. //Diseñarlo (de acuerdo a las convenciones vistas) en la clase cartuchera. //Adaptar la sobrecarga del operador +, para que lance el evento, según lo solicitado. //Crear el manejador necesario para que, una vez capturado el evento, se imprima en un archivo de texto: //la fecha (con hora, minutos y segundos) y el total de la cartuchera (en un nuevo renglón). //Se deben acumular los mensajes. //El archivo se guardará con el nombre 'tickets.log' en la carpeta 'Mis documentos' del cliente. //El manejador de eventos (c_gomas_EventoPrecio) invocará al método (de clase) //ImprimirTicket (se alojará en la clase Ticketeadora), que retorna un booleano //indicando si se pudo escribir o no. private void button4_Click(object sender, EventArgs e) { this.c_gomas.EventoPrecio += new DelegadoPrecio(this.c_goma_EventoPrecio); try { this.c_gomas += new Goma(false, "Faber-Castell", 85); } catch (CartucheraLlenaException ex) { MessageBox.Show(ex.InformarNovedad()); } MessageBox.Show(this.c_gomas.ToString()); }
static void Main(string[] args) { Cartuchera <Utiles> cu = new Cartuchera <Utiles>(3, "Pepino"); Lapicera l1 = new Lapicera(25, "faber", ConsoleColor.Blue, "Fino"); Lapicera l2 = new Lapicera(16, "bic", ConsoleColor.DarkBlue, "Grueso"); Goma g1 = new Goma(13, "Fabersito", true); Goma g2 = new Goma(10, "Maped", false); try { cu += l1; cu += l2; cu += g1; cu += g2; } catch (CartucheraLlenaException c) { Console.WriteLine(c.Message); StreamWriter sw = new StreamWriter("Excepcion.log"); //Por default lo guarda en la carpeta del programa. sw.WriteLine(c.Message); sw.WriteLine(DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Millisecond); sw.Close(); } g1.Precio = 3; Console.WriteLine(cu); cu.SerializarXML("xD.xml"); Cartuchera <Utiles> cAux; //= new Cartuchera<Utiles>(2,"asd"); if (cu.DeserializarXML("xD.xml", out cAux)) { Console.WriteLine("Se deserializó bien"); } Console.WriteLine("Cartuchera Deserializada"); Console.WriteLine(cAux); cu.serializarXML("Pepito.xml"); Console.ReadLine(); //serializar una goma: objGoma.SerializarXML(""); }
//Si el precio total de la cartuchera supera los 85 pesos, se disparará el evento EventoPrecio. //Diseñarlo (de acuerdo a las convenciones vistas) en la clase cartuchera. //Adaptar la sobrecarga del operador +, para que lance el evento, según lo solicitado. //Crear el manejador necesario para que, una vez capturado el evento, se imprima en un archivo de texto: //la fecha (con hora, minutos y segundos) y el total de la cartuchera (en un nuevo renglón). //Se deben acumular los mensajes. //El archivo se guardará con el nombre 'tickets.log' en la carpeta 'Mis documentos' del cliente. //El manejador de eventos (c_gomas_EventoPrecio) invocará al método (de clase) //ImprimirTicket (se alojará en la clase Ticketeadora), que retorna un booleano //indicando si se pudo escribir o no. private void btnPunto4_Click(object sender, EventArgs e) { try { //Asociar manejador de eventos (c_gomas_EventoPrecio) aquí this.c_gomas.EventoPrecio += new DelegadoPrecio(this.c_gomas_EventoPrecio); this.c_gomas += new Goma(false, "Faber-Castell", 31); } catch (CartucheraLlenaException ex) { MessageBox.Show(ex.InformarNovedad()); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
static void Main(string[] args) { try { Cartuchera <Utiles> miCartuchera = new Cartuchera <Utiles>("Karpatos", 3); Lapicera l1 = new Lapicera(ConsoleColor.Black, "medio"); Lapicera l2 = new Lapicera(ConsoleColor.Blue, "fino"); Goma g1 = new Goma(true); Goma g2 = new Goma(false); l1.Marca = "BIC"; l1.Precio = 3; miCartuchera.AgregarUtil = l1; miCartuchera.AgregarUtil = l2; miCartuchera.AgregarUtil = g1; //miCartuchera.AgregarUtil = g2; if (miCartuchera.SerializarXML(AppDomain.CurrentDomain.BaseDirectory + "Cartuchera.xml")) { Console.WriteLine("OK"); Console.ReadLine(); } else { Program.EscribirLog("Error de Serializacion"); } Cartuchera <Utiles> cartu = new Cartuchera <Utiles>(); if (miCartuchera.DeserializarXML(AppDomain.CurrentDomain.BaseDirectory + "Cartuchera.xml", out cartu)) { Console.WriteLine(cartu.ToString()); Console.ReadLine(); } else { Program.EscribirLog("Error de Deserializacion"); } } catch (CartucheraLlenaExcepcion e) { Console.WriteLine(e.Message); Program.EscribirLog(e.Message); Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e.Message); Program.EscribirLog(e.Message); Console.ReadLine(); } }
static void Main(string[] args) { Cartuchera <Utiles> utiles = new Cartuchera <Utiles>(3, "ACME"); Lapicera lapicera1 = new Lapicera(ConsoleColor.Blue, "Trazo Grueso"); Lapicera lapicera2 = new Lapicera(ConsoleColor.DarkRed, "Trazo Fino"); Goma goma1 = new Goma(true); Goma goma2 = new Goma(false); try { utiles += lapicera1; utiles += lapicera2; utiles += goma1; utiles += goma2; } catch (CartucheraLlenaException e) { Console.WriteLine(e.Message); Console.ReadLine(); Program.Guardar(); } utiles.SerializarXml(@"C:\\Cartuchera.xml"); //Console.WriteLine(utiles.Desderializar(@"C:\\Cartuchera.xml")); string ruta = @"C:\\Goma.xml"; utiles.Extencion(ruta); Console.ReadLine(); utiles.MuestraBase(); Console.ReadLine(); }