public void TestSerializarAlumnoXml() { //Arrange Alumno a = new Alumno("Juan", "Sarmiento", 5, 39123456, "Calle false 123", 1, "7"); string fecha = DateTime.Now.ToString("dd_MM_yyyy"); string nombreArchivo = a.Apellido + "_" + a.Nombre + "_" + fecha + ".xml"; ArchivoXml <Alumno> serializador = new ArchivoXml <Alumno>(); string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\" + nombreArchivo; //Act serializador.Guardar(a, path); //Assert Assert.IsTrue(File.Exists(path)); }
/// <summary> /// Serializa a un alumno desaprobado en Xml /// </summary> /// <param name="a">Alumno a serializar</param> private void SerializarAlumnoDesaprobado(Alumno a) { string fecha = DateTime.Now.ToString("dd_MM_yyyy"); string nombreArchivo = a.Apellido + "_" + a.Nombre + "_" + fecha + ".xml"; ArchivoXml <Alumno> serializador = new ArchivoXml <Alumno>(); string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\SegundoParcialUtn\\JardinUtn\\Serializaciones\\DESAPROBADOS\\" + nombreArchivo; try { serializador.Guardar(a, path); } catch (Exception excepcion) { //Se registra la informacion de la excepcion en un archivo txt ArchivoTxt.GuardarEnLog("Ocurrio el siguiente error: " + excepcion.Message); MessageBox.Show(excepcion.Message, "Error"); } }
public void TestDeserializarAlumnoXml() { //Arrange Alumno a = new Alumno("Pepito", "Peposo", 5, 39123456, "Calle false 123", 1, "7"); Alumno b = null; string fecha = DateTime.Now.ToString("dd_MM_yyyy"); string nombreArchivo = a.Apellido + "_" + a.Nombre + "_" + fecha + ".xml"; ArchivoXml <Alumno> serializador = new ArchivoXml <Alumno>(); string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\" + nombreArchivo; //Act //Primero lo serializo y despues lo deserializo serializador.Guardar(a, path); b = serializador.Leer(path); //Assert Assert.IsTrue(a == b); }
/// <summary> /// Guarda en un archivo XML las ventas actuales /// </summary> /// <param name="sender"></param> /// <param name="e"></param private void ventasXmlButton_Click(object sender, EventArgs e) { ArchivoXml <List <ProductoItem> > archivo = new ArchivoXml <List <ProductoItem> >(); try { archivo.Guardar(listaVentas); MostrarMensaje( "Archivo XML descargado con exito en la ruta del proyecto!", "Descarga finalizada" ); } catch (ArchivosException exc) { Console.WriteLine(exc.Message); MostrarMensajeError( "Ocurrió un error al querer guardar las ventas en archivo XML", "Error archivo XML" ); } }
static void Main(string[] args) { //-----------FEATURES DISPONIBLES--------------- //Base de datos: //INSERT a productos disponibles (puede arrojar una excepcion si se trata de un producto repetido por nombre): Producto p1 = new Producto("ProductoLimpieza", ProductoItem.TipoProducto.Limpieza, 70.5f, 5); Producto p2 = new Producto("ProductoLimpieza", ProductoItem.TipoProducto.Limpieza, 100, 2); Producto p3 = new Producto("Papas lays", ProductoItem.TipoProducto.Comida, 120, 7); Producto p4 = new Producto("Redbull", ProductoItem.TipoProducto.Bebida, 80, 0); DataBaseHelper.InsertarItem(p1); //Agrego ProductoLimpieza DataBaseHelper.InsertarItem(p3); //Agrego Papas lays DataBaseHelper.InsertarItem(p4); //Agrego Redbull //Los siguientes productos serán insertados a la tabla Productos para que puedan probarse en el form de ante mano (no son ventas) DataBaseHelper.InsertarItem(new Producto("Choripan", ProductoItem.TipoProducto.Comida, 150.5f, 25)); DataBaseHelper.InsertarItem(new Producto("Jabón en polvo", ProductoItem.TipoProducto.Limpieza, 42.8f, 13)); DataBaseHelper.InsertarItem(new Producto("Cerveza Quilmes", ProductoItem.TipoProducto.Bebida, 80.6f, 25)); try { DataBaseHelper.InsertarItem(p2); //Captura excepcion por repetido } catch (ProductoRepetidoException e) { Console.WriteLine(e.Message); } //INSERT a productos vendidos ProductoItem item = new ProductoItem("Fanta", ProductoItem.TipoProducto.Bebida, 95.5f); ProductoItem item2 = new ProductoItem("7up", ProductoItem.TipoProducto.Bebida, 95.5f); ProductoItem item3 = new ProductoItem("Fanta zero", ProductoItem.TipoProducto.Bebida, 95.5f); DataBaseHelper.InsertarItem(item); //Este metodo acepta tanto Producto como ProductoItem (los agrega a su tabla correspondiente) DataBaseHelper.InsertarItem(item2); DataBaseHelper.InsertarItem(item3); //UPDATE de stock a algún producto DataBaseHelper.ActualizarStockProducto(p1.StockDisponible - 1, "ProductoLimpieza"); Console.WriteLine($"Nuevo stock: ${p1.StockDisponible}"); //Nuevo stock: 4 //SELECT de productos List <Producto> productosDisponibles = DataBaseHelper.GetListaItems <Producto>(); List <Producto> productosConStock = DataBaseHelper.GetListaItems <Producto>(true); //Devuelve solo los productos con stock foreach (Producto p in productosDisponibles) { Console.WriteLine(p.ToString()); } foreach (Producto p in productosConStock) { Console.WriteLine(p.ToString()); } //SELECT de productos vendidos List <ProductoItem> productosVendidos = DataBaseHelper.GetListaItems <ProductoItem>(); foreach (Producto p in productosConStock) { Console.WriteLine(p.ToString()); } //ARCHIVOS ArchivoTexto texto = new ArchivoTexto(); if (texto.Guardar(GetListaVentas(productosVendidos))) { Console.WriteLine("Archivo de texto guardado con exito! (ruta del proyecto)"); } ArchivoXml <List <Producto> > xml = new ArchivoXml <List <Producto> >(); if (xml.Guardar(productosConStock)) { Console.WriteLine("Archivo XML guardado con exito (ruta del proyecto)!"); } //THREADS, DELEGADOS Y EVENTOS //Estos están funcionando en los FORM (animaciones y mensajes) //METODOS DE EXTENSIÓN string fechaActual = DateTime.Now.FechaActualFormateada(); //devuelve la fecha actual -> dd-MM-yyyy Console.WriteLine($"Fecha de hoy: {fechaActual}"); EliminarProductos(); EliminarProductosVendidos(); }