//Crear la interface IGuardarXML { bool SerializarXML(); }. Implementarla en la clase Deposito. //La instancia de tipo Deposito tendrá, al menos, un objeto de tipo Producto, otro de tipo ProdImpuesto, //otro de tipo ProdExport y otro de tipo ProdVendido) y generar una serialización XML del depósito. //Modificando lo que crea conveniente para poder serializar todos los atributos de todos los objetos intervinientes, //guardando en el archivo archivo.xml. private void button7_Click(object sender, EventArgs e) { //serializar Deposito d = new Deposito(); d.Add(new Producto("pera", 2)); d.Add(new ProdImpuesto("cereza", 150, 600.33)); d.Add(new ProdExport(new ProdImpuesto("banana", 16, 266), "Argentina")); d.Add(new ProdVendido(new ProdExport(new ProdImpuesto("maracuyá", 20, 666), "Brazil"), "Cliente Juan")); if (d.SerializarXML()) { MessageBox.Show("Serializado OK"); MessageBox.Show("Se encuentra en el escritorio"); } else { MessageBox.Show("NO Serializado"); } }
//Crear la clase Deposito que contenga nombre(protected; string) y productos(protected; lista genérica de tipo //Producto), como atributos, y como método Add(agrega un elemento a la lista). //a.Crear dos objetos de tipo Deposito(de 3 elementos de capacidad máxima, si la supera, lanza una excepción propia). //La clase Producto tiene dos atributos: Nombre y Stock. //b.Se debe poder sumar los dos depósitos(con la sobrecarga de un operador en la clase Depósito) retornando //una nueva lista con la suma de los Productos, (recordar que, si un producto está en las dos listas, se debe sumar //el stock y no agregar dos veces al mismo producto). //c.Crear el “DepositoUno” con: 2 naranjas y 4 peras y el “DepositoDos” con: 2 peras, 2 manzanas, 5 naranjas y //3 cerezas, mostrar el listado de productos resultantes con el método toString(), y el mensaje de la //excepción propia(si se produjo). private void button4_Click(object sender, EventArgs e) { Deposito DepositoUno = new Deposito(); Deposito DepositoDos = new Deposito(); DepositoUno.Add(new Producto("naranja", 2)); DepositoUno.Add(new Producto("pera", 4)); DepositoDos.Add(new Producto("pera", 2)); DepositoDos.Add(new Producto("manzana", 2)); DepositoDos.Add(new Producto("naranja", 5)); DepositoDos.Add(new Producto("cereza", 3)); List <Producto> lista = DepositoUno + DepositoDos; // reemplazar por la suma de los dos depositos!!! string mensaje = ""; foreach (Producto item in lista) { mensaje += item.ToString(); } MessageBox.Show(mensaje); }