Beispiel #1
0
        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");
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        /// <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"
                    );
            }
        }
Beispiel #5
0
        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();
        }