Пример #1
0
        public async Task <ActionResult <ProductoItem> > PostProductoItem(ProductoItem item)
        {
            _context.ProductoItems.Add(item);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetProductoItem), new { id = item.Id }, item));
        }
Пример #2
0
        public void InsertarNuevaVenta()
        {
            //arrange
            string nombreItem         = "Pepsi Light-InsertarVentaTest";
            string nombreItemEsperado = string.Empty;
            List <ProductoItem> listaItems;

            ProductoItem item = new ProductoItem(nombreItem, ProductoItem.TipoProducto.Bebida, 50.6f);

            //act
            DataBaseHelper.InsertarItem(item);
            listaItems = DataBaseHelper.GetListaItems <ProductoItem>();

            foreach (ProductoItem i in listaItems)
            {
                if (i.Nombre == nombreItem)
                {
                    nombreItemEsperado = i.Nombre;
                }
            }

            //eliminamos el producto agregado para la prueba
            DataBaseHelper.EliminarProducto(nombreItem, false);

            //assert
            Assert.AreEqual(nombreItem, nombreItemEsperado);
        }
Пример #3
0
        public async Task <IActionResult> PutProductoItem(int id, ProductoItem
                                                          item)
        {
            if (id != item.Id)
            {
                return(BadRequest());
            }
            _context.Entry(item).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(NoContent());
        }
Пример #4
0
        /// <summary>
        /// Consulta que haremos para obtener la lista de items (pueden ser Productos o ProductosVendidos)
        /// </summary>
        /// <typeparam name="T">generico por el cual limitamos la query, puede ser un Producto o un ProductoItem</typeparam>
        /// <param name="stockItems">true -> devuelve los objetos que tienen stock mayor a 0, por defecto esta en false, funciona solo con los Productos</param>
        /// <returns>una lista con los items que necesitemos</returns>
        public static List <T> GetListaItems <T>(bool stockItems = false) where T : ProductoItem
        {
            List <T> listaItems = new List <T>();
            string   query      = GetSelectQuery(listaItems, stockItems);

            try
            {
                sqlConnection.Open();

                command.CommandText = query;
                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    ProductoItem item = null;

                    int    id     = (int)reader["Id"];
                    string nombre = (string)reader["Nombre"];
                    ProductoItem.TipoProducto tipo = (Producto.TipoProducto)Enum.Parse(typeof(Producto.TipoProducto), (string)reader["Tipo"]);
                    float precio = ((float)(double)reader["Precio"]);
                    if (listaItems is List <Producto> )
                    {
                        int stock = (int)reader["StockDisponible"];
                        item = new Producto(id, nombre, tipo, precio, stock);
                    }
                    else
                    {
                        item = new ProductoItem(id, nombre, tipo, precio);
                    }

                    listaItems.Add(item as T);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                if (!(sqlConnection is null) && sqlConnection.State == System.Data.ConnectionState.Open)
                {
                    sqlConnection.Close();
                }
            }

            return(listaItems);
        }
Пример #5
0
        public FacturaDetalleController(PimiEscoSoftContext context)
        {
            _context = context;
            if (_context.DetallesFactura.Count() == 0)
            {
                ProductoItem producto = new ProductoItem();
                producto.Id     = 12;
                producto.Nombre = "arroz";
                producto.Precio = 4000;
// Crea un nuevo item si la coleccion esta vacia,
// lo que significa que no puedes borrar todos los Items.
                _context.DetallesFactura.Add(new FacturaDetalle {
                    Producto = producto, Cantidad = 2
                });
                _context.SaveChanges();
            }
        }
Пример #6
0
        public FacturaController(PimiEscoSoftContext context)
        {
            _context = context;

            if (_context.MaestroFactura.Count() == 0)
            {
// Crea un nuevo item si la coleccion esta vacia,
// lo que significa que no puedes borrar todos los Items.
                cliente1 = new ClienteItem {
                    Nombres = "juan", Apellidos = "Priorizar", Sexo = "Masculino", Email = "*****@*****.**", Telefono = "3542342", Direccion = "calle 6a"
                };
                ProductoItem producto = new ProductoItem();

                producto.Nombre = "arroz";
                producto.Precio = 4000;
                producto.Costo  = 1000;
                ProductoItem producto2 = new ProductoItem();

                producto2.Nombre = "peto";
                producto2.Precio = 7000;
                producto2.Costo  = 2000;
//compraContext.CompraItems.Add(new CompraItem{ IdFactura= 1 , IdProducto=producto.Id, Cantidad= 2});
//compraContext.CompraItems.Add(new CompraItem{ IdFactura= 1 , IdProducto=producto2.Id, Cantidad= 4});
//compraContext.SaveChanges();
                FacturaDetalle facturaDetalle1 = new FacturaDetalle();


                facturaDetalle1.Producto = producto;
                facturaDetalle1.Cantidad = 2;
                FacturaDetalle facturaDetalle2 = new FacturaDetalle();

                facturaDetalle2.Producto = producto2;
                facturaDetalle2.Cantidad = 1;

                List <FacturaDetalle> DetallesFactura = new List <FacturaDetalle>();
                DetallesFactura.Add(facturaDetalle1);
                DetallesFactura.Add(facturaDetalle2);
                _context.MaestroFactura.Add(new FacturaItem {
                    Cliente = cliente1, Fecha = "Tue Jun 25 2019", FacturaDetalles = DetallesFactura
                });
//_context.MaestroFactura.Add(new ClienteItem { Id = 2, Nombres = "Pedro", Apellidos = "gazan", Sexo = "Masculino", Email="*****@*****.**",Telefono="6445453", Direccion="calle 7a"});
                _context.SaveChanges();
            }
        }
Пример #7
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();
        }