public async Task <ActionResult <ProductoItem> > PostProductoItem(ProductoItem item) { _context.ProductoItems.Add(item); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(GetProductoItem), new { id = item.Id }, item)); }
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); }
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()); }
/// <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); }
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(); } }
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(); } }
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(); }