public void ModificarIndumentaria(int codigo, string talle, double precio, bool tieneBolsillos, bool tieneEstampado, string material, string tipoManga) { Indumentaria indumentaria = BuscarPorCodigo(codigo); if (!InventarioVacio) { if (indumentaria != null) { indumentaria.Precio = precio; indumentaria.Talle = talle; if (indumentaria is Pantalon) { ((Pantalon)indumentaria).TieneBolsillos = tieneBolsillos; ((Pantalon)indumentaria).Material = material;; } if (indumentaria is Camisa) { ((Camisa)indumentaria).TieneEstampado = tieneEstampado; ((Camisa)indumentaria).TipoManga = tipoManga;; } } else { throw new Exceptions.SinIndumentariaException(codigo); } } else { throw new Exceptions.SinIndumentariaException(); } }
public void VenderItem(int codigoIndumentaria, int cantidad, int codCliente, string apeCliente, string nomCliente) { if (!InventarioVacio) { Indumentaria indumentaria = BuscarPorCodigo(codigoIndumentaria); if (indumentaria.GetStockActual != 0) { if (indumentaria.GetStockActual >= cantidad) { int nuevoCodigo = this.GetUltimoCodigoVenta() + 1; Venta venta = new Venta(nuevoCodigo, codCliente, apeCliente, nomCliente); venta.AgregarItems(indumentaria, cantidad); this.RetirarStock(codigoIndumentaria, cantidad); venta.Estado = (int)Enums.EstadoVenta.Procesada; _ventas.Add(venta); } else { throw new Exceptions.SinStockException("No hay suficiente stock de la indumentaria de código", string.Format("{0}", codigoIndumentaria)); } } else { throw new Exceptions.SinStockException(string.Format("{0}", codigoIndumentaria)); } } else { throw new Exceptions.SinIndumentariaException(); } }
static void QuitarIndumentaria(TiendaRopa T) { try { if (T.CantidadIndumentaria() == 0) { throw new ListaVaciaIndumentariaException(); } else { //PIDO CODIGO A QUITAR string _strCodigo; int _codigo = 0; bool flag = false; do { _strCodigo = ConsolaHelper.PedirCodigoAQuitar(); flag = Validaciones.ValidarCodigoIndumentaria(_strCodigo, ref _codigo); } while (!flag); Indumentaria A = T.BuscarIndumentaria(_codigo); // me puede devoler el objeto o un null si no lo encontro T.QuitarIndumentaria(A); ConsolaHelper.MostrarMensaje("Indumentaria eliminada con exito"); } } catch (ListaVaciaIndumentariaException e) { ConsolaHelper.MostrarMensaje(e.Message); } catch (Exception x) { ConsolaHelper.MostrarMensaje(x.Message); } }
public void DevolverItem(int codVenta, int codIndumentaria) { if (!SinVentas) { if (!InventarioVacio) { Venta venta = BuscarVentaPorCodigo(codVenta); if (venta != null) { if (venta.Estado != (int)Enums.EstadoVenta.Devuelto) { Indumentaria indumentaria = BuscarPorCodigo(codIndumentaria); if (indumentaria != null) { VentaItem ventaItem = venta.BuscarPorCodigo(codIndumentaria); if (ventaItem != null) { venta.Items.Remove(ventaItem); AgregarStock(ventaItem.Prenda.Codigo, ventaItem.CantidadVendida); if (venta.Items.Count() == 0) { venta.Estado = (int)Enums.EstadoVenta.Devuelto; } } else { throw new Exception("No existe ninguna prenda con el código " + codIndumentaria + " en la venta " + codVenta + "."); } } else { throw new Exceptions.SinIndumentariaException(codIndumentaria); } } else { throw new Exception("La venta ya fue devuelta."); } } else { throw new Exception("No hay ninguna venta cargadas en el sistema con el código " + codVenta + "."); } } else { throw new Exceptions.SinIndumentariaException(); } } else { throw new Exception("No hay ventas cargadas en el sistema aún."); } }
private void dgvProductos_SelectionChanged(object sender, EventArgs e) { Indumentaria auxPrenda = (Indumentaria)dgvProductos.CurrentRow.DataBoundItem; lbCantidadActual.Text = auxPrenda.Stock.ToString(); lbDescripcion.Text = auxPrenda.Descripcion; txbCantidad.Text = ""; }
private void FormStockIndumentaria_Load(object sender, EventArgs e) { dgvProductos.DataSource = Walmart.ListaIndumentaria; Indumentaria auxPrenda = (Indumentaria)dgvProductos.CurrentRow.DataBoundItem; lbCantidadActual.Text = auxPrenda.Stock.ToString(); lbDescripcion.Text = auxPrenda.Descripcion; txbCantidad.Text = ""; }
public void IngresarIndumentaria(int codigo) { _indumentaria = this._repositorio.BuscarIndumentaria(codigo); if (_indumentaria == null) { _vista.MostrarError("Indumentaria inexistente"); } else { _vista.MostrarIndumentaria(_indumentaria); } }
static void EliminarIndumentaria(TiendaRopa tienda) { int codigo = ConsoleHelpers.PedirInt("codigo de indumentaria a eliminar"); try { Indumentaria indumentaria = tienda.Inventario.Find(indumentariaItem => indumentariaItem.Codigo == codigo); tienda.Quitar(indumentaria); } catch (Exception ex) { Console.WriteLine("Ocurrió un error con mensaje: " + ex.Message); } }
public void Quitar(Indumentaria a) { this._invetario.Remove(a); /* * Indumentaria eliminar = this._invetario.SingleOrDefault(x => x.Codigo == a.Codigo); * if(eliminar == null) * throw new CodigoInexistenteException("El codigo no existe."); * else * { * this._invetario.Remove(eliminar); * * }*/ }
public void RegistrarLineaDeVenta(Indumentaria indumentaria, int cantidad, int talleId) { try { var stock = _repositorio.BuscarStock(indumentaria, talleId); stock.DisminuirCantidad(cantidad); Venta.AgregarLineaDeVenta(indumentaria, cantidad); _vista.ActualizarVista(Venta); } catch (Exception e) { _vista.MostrarError(e.Message); } }
static void ModificarIndumentaria(TiendaRopa tienda) { int codigo = ConsoleHelpers.PedirInt("codigo de indumentaria a modificar"); try { Indumentaria indumentaria = tienda.Inventario.Find(indumentariaItem => indumentariaItem.Codigo == codigo); double nuevoPrecio = ConsoleHelpers.PedirDouble("el nuevo precio"); tienda.Modificar(indumentaria, nuevoPrecio); } catch (Exception Ex) { Console.WriteLine("No se pudo modificar la indumentaria. Mensaje: " + Ex.Message); } }
private void btnAddPrenda_Click(object sender, EventArgs e) { bool asd = int.TryParse(txbCantidad.Text, out int cantidad); Indumentaria auxProducto = (Indumentaria)dgvIndumentaria.CurrentRow.DataBoundItem; if (!Walmart.AgregarIndumentariaAlCarrito(new ArticuloCompra <Producto>(cantidad, auxProducto, (auxProducto.PrecioUnitario * cantidad), auxProducto.PrecioUnitario))) { MessageBox.Show($"La cantidad de {auxProducto.Descripcion} solicitada excede el stock disponible!"); } else { this.dgvCarrito.DataSource = null; this.dgvCarrito.DataSource = Walmart.CompraEnCurso.Productos; this.txbPrecioFinal.Text = $"${Walmart.CompraEnCurso.PrecioTotal.ToString()}"; } }
static void EliminarIndumentaria(TiendaRopa tiendaRopa) { Console.WriteLine("\n******************** ELIMINAR INDUMENTARIA ********************\n"); List <Indumentaria> aux = tiendaRopa.Lista(); Indumentaria auxiliar = null; if (aux.Count == 0) { Console.WriteLine("No hay articulos cargados"); } else { foreach (Indumentaria a in aux) { Console.WriteLine(a.ToString()); } } int codigo = Validaciones.Entero("codigo de producto a eliminar", 1, tiendaRopa.UltimoCodigo); foreach (Indumentaria a in aux) { if (a.Codigo == codigo) { auxiliar = a; } } if (auxiliar == null) { Console.WriteLine("No hay productos con ese codigo"); } else { try { tiendaRopa.Quitar(auxiliar); Console.WriteLine("El producto se elimino con exito!"); } catch (CodigoInexistenteException e) { Console.WriteLine("Error - " + e.Message); } catch (Exception e) { Console.WriteLine("Error - " + e.Message); } } }
public void CalcularVueltoImporteSuficiente() { Indumentaria indumentariaDePrueba = new Indumentaria() { Precio = 300 }; Venta ventaPrueba = new Venta() { LineaDeVentas = new List <LineaDeVenta>() { new LineaDeVenta(indumentariaDePrueba, 5) } }; var vuelto = ventaPrueba.CalcularVuelto(2000); Assert.AreEqual(500, vuelto); }
public void Agregar(int tipoIndu, int clase, string talle, double precio, string texto, bool booleano, string origen, double porcentaje) { Indumentaria auxiliar = null; switch (clase) { case 1: auxiliar = new Camisa(FactoryTipoIndumentaria.GetTipoIndumentaria(tipoIndu, origen, porcentaje), GetProximoCodigo(), talle, precio, texto, booleano); break; case 2: auxiliar = new Pantalon(FactoryTipoIndumentaria.GetTipoIndumentaria(tipoIndu, origen, porcentaje), GetProximoCodigo(), talle, precio, texto, booleano); break; default: break; } this.Agregar(auxiliar); }
public void Ingresar(int codigoPedido, Indumentaria a, int cantidad) { Venta auxVenta = null; Indumentaria auxIndumentaria = null; foreach (Venta aux in _ventas) { if (aux.Codigo == codigoPedido) { auxVenta = aux; } } if (auxVenta == null) { throw new CodigoInexistenteException("No existe el pedido."); } else { foreach (Indumentaria indumentaria in _invetario) { if (indumentaria.Equals(a)) { auxIndumentaria = indumentaria; } } if (auxIndumentaria == null) { throw new CodigoInexistenteException("No existe la prenda."); } else { if (auxIndumentaria.Stock < cantidad) { throw new SinStockException("No hay stock del producto. Stock disponible: " + auxIndumentaria.Stock); } else { auxIndumentaria.Stock -= cantidad; auxVenta.Items.Add(new VentaItem(a, cantidad)); } } } }
public void CalcularVueltoImporteInsuficiente() { Indumentaria indumentariaDePrueba = new Indumentaria() { Precio = 300 }; Venta ventaPrueba = new Venta() { LineaDeVentas = new List <LineaDeVenta>() { new LineaDeVenta(indumentariaDePrueba, 5) } }; Assert.ThrowsException <Exception>(() => { ventaPrueba.CalcularVuelto(500); }); }
public void Modificar(Indumentaria a) { Indumentaria modificacion = null; foreach (Indumentaria aux in _invetario) { if (aux.Equals(a)) { modificacion = aux; } } if (modificacion == null) { throw new CodigoInexistenteException("El codigo no existe."); } else { modificacion = a; /* Esto deberia funcionar * this._invetario.Remove(modificacion); * this._invetario.Add(a);*/ } }
private void btnAgregar_Click(object sender, EventArgs e) { Indumentaria auxPrenda = (Indumentaria)dgvProductos.CurrentRow.DataBoundItem; Walmart.AgregarStockIndumentaria(auxPrenda.Id, Convert.ToInt32(txbCantidad.Text)); ProductosDAO.ActualizarStockIndumentariaDB(auxPrenda); dgvProductos.DataSource = null; dgvProductos.DataSource = Walmart.ListaIndumentaria; txbCantidad.Text = ""; if (formPrincipal.dgvIndumentaria.InvokeRequired) { formPrincipal.dgvIndumentaria.BeginInvoke((MethodInvoker) delegate() { formPrincipal.dgvIndumentaria.DataSource = null; formPrincipal.dgvIndumentaria.DataSource = Walmart.ListaIndumentaria; } ); } else { formPrincipal.dgvIndumentaria.DataSource = null; formPrincipal.dgvIndumentaria.DataSource = Walmart.ListaIndumentaria; } }
private void btnAgregar_Click(object sender, EventArgs e) { if (!(string.IsNullOrEmpty(txbDescripcion.Text)) && !(string.IsNullOrEmpty(txbPrecio.Text)) && !(string.IsNullOrEmpty(txbStock.Text)) && !(string.IsNullOrEmpty(txbColor.Text)) && !(string.IsNullOrEmpty(cbTalle.Text))) { if (!Walmart.ListaIndumentaria.ExistsIndumentariaInList(txbDescripcion.Text)) { Indumentaria prendaAux = new Indumentaria(Walmart.ListaIndumentaria.Count + 3001, txbDescripcion.Text, Convert.ToInt32(txbStock.Text), txbColor.Text, Convert.ToDouble(txbPrecio.Text), (ETalle)cbTalle.SelectedItem); string r = Walmart.AgregarNuevaIndumentaria(prendaAux); MessageBox.Show(r); if (formPrincipal.dgvIndumentaria.InvokeRequired) { formPrincipal.dgvIndumentaria.BeginInvoke((MethodInvoker) delegate() { formPrincipal.dgvIndumentaria.DataSource = null; formPrincipal.dgvIndumentaria.DataSource = Walmart.ListaIndumentaria; } ); } else { formPrincipal.dgvIndumentaria.DataSource = null; formPrincipal.dgvIndumentaria.DataSource = Walmart.ListaIndumentaria; } } else { MessageBox.Show("Esa Indumentaria ya existe"); } } else { MessageBox.Show("Primero ingrese datos en los campos"); } }
public void MostrarIndumentaria(Indumentaria ind) { this._indumentaria = ind; this.LblDescripcion.Text = ind.Descripcion; this.lblPrecio.Text = "$" + ind.Precio; }
public void AgregarItems(Indumentaria indumentaria, int cantidad) { this._items.Add(new VentaItem(indumentaria, cantidad)); }
static void ModificarIndumentaria(TiendaRopa tiendaRopa) { Console.WriteLine("\n******************** MODIFICAR INDUMENTARIA ********************\n"); List <Indumentaria> aux = tiendaRopa.Lista(); Indumentaria auxiliar = null; int respuesta; int booleanoNumero = 0; if (aux.Count == 0) { Console.WriteLine("No hay articulos cargados"); } else { foreach (Indumentaria a in aux) { Console.WriteLine(a.ToString()); } } int codigo = Validaciones.Entero("codigo de producto a modificar", 1, tiendaRopa.UltimoCodigo); foreach (Indumentaria a in aux) { if (a.Codigo == codigo) { auxiliar = a; } } if (auxiliar == null) { Console.WriteLine("No hay productos con ese codigo"); } else { respuesta = Validaciones.Entero("Desea modificar el Talle? (1-SI | 2-NO)", 1, 2); if (respuesta == 1) { auxiliar.Talle = Validaciones.Texto("nuevo talle").ToUpper(); } respuesta = Validaciones.Entero("Desea modificar el Precio? (1-SI | 2-NO)", 1, 2); if (respuesta == 1) { auxiliar.Precio = Validaciones.Importe("nuevo precio", 1, 999999); } if (auxiliar is Camisa) { respuesta = Validaciones.Entero("Desea modificar el Tipo de Manga? (1-SI | 2-NO)", 1, 2); if (respuesta == 1) { ((Camisa)auxiliar).TipoManga = Validaciones.Texto("nuevo Tipo de Manga"); } respuesta = Validaciones.Entero("Desea modificar Si tiene Estampado? (1-SI | 2-NO)", 1, 2);; if (respuesta == 1) { booleanoNumero = Validaciones.Entero("tiene estampado? (1-SI | 2-NO)", 1, 2); } if (booleanoNumero == 1) { ((Camisa)auxiliar).TieneEstampado = true; } else if (booleanoNumero == 2) { ((Camisa)auxiliar).TieneEstampado = false; } } else if (auxiliar is Pantalon) { respuesta = Validaciones.Entero("Desea modificar el Material? (1-SI | 2-NO)", 1, 2); if (respuesta == 1) { ((Pantalon)auxiliar).Material = Validaciones.Texto("nuevo Tipo de Material"); } respuesta = Validaciones.Entero("Desea modificar Si tiene Bolsillos? (1-SI | 2-NO)", 1, 2);; if (respuesta == 1) { booleanoNumero = Validaciones.Entero("tiene bolsillos? (1-SI | 2-NO)", 1, 2); } if (booleanoNumero == 1) { ((Pantalon)auxiliar).TieneBolsillos = true; } else if (booleanoNumero == 2) { ((Pantalon)auxiliar).TieneBolsillos = false; } } try { tiendaRopa.Modificar(auxiliar); Console.WriteLine("El producto se actualizo con exito!"); } catch (CodigoInexistenteException e) { Console.WriteLine("Error - " + e.Message); } catch (Exception e) { Console.WriteLine("Error - " + e.Message); } } }
public Stock BuscarStock(Indumentaria indumentaria, int talleId) { return(_context.Stocks.Where(stock => stock.Indumentaria.Id == indumentaria.Id && stock.Talle.Id == talleId).FirstOrDefault()); }
public void Ingresar(Indumentaria a) { }
public void Agregar(Indumentaria a) { this._invetario.Add(a); //throw new NotImplementedException();//excepcion de no implementado. }
public VentaItem(Indumentaria prenda, int cantidad) { this.Prenda = prenda; this.Cantidad = cantidad; }
static void AgregarIndumentaria(TiendaRopa T) { try { //PIDO DATOS AL USUARIO string _STRtipoindumentaria; int _tipoindumentaria = 0; bool flag1 = false; do { _STRtipoindumentaria = ConsolaHelper.PedirTipoIndumentaria(); flag1 = Validaciones.ValidarTipoIndumentaria(_STRtipoindumentaria, ref _tipoindumentaria); } while (!flag1); string _STRmodelo; int _modelo = 0; bool flag2 = false; do { _STRmodelo = ConsolaHelper.PedirModelo(); flag2 = Validaciones.ValidarModelo(_STRmodelo, ref _modelo); } while (!flag2); string _talle; bool flag3 = false; do { _talle = ConsolaHelper.PedirTalle(); flag3 = Validaciones.ValidarTalle(_talle); } while (!flag3); string _strPrecio; double _precio = 0; bool _flag4; do { _strPrecio = ConsolaHelper.PedirPrecio(); _flag4 = Validaciones.ValidarPrecio(_strPrecio, ref _precio); } while (!_flag4); TipoIndumentaria Tipo = null; // es una clase abstracta, no se puede instanciar switch (_tipoindumentaria) { case 1: { IndumentariaCasual Casual = new IndumentariaCasual(_tipoindumentaria); Tipo = Casual; break; } case 2: { IndumentariaDeportiva Deportiva = new IndumentariaDeportiva(_tipoindumentaria); Tipo = Deportiva; break; } case 3: { IndumentariaFormal Formal = new IndumentariaFormal(_tipoindumentaria); Tipo = Formal; break; } } Indumentaria Aux = null; // es una clase abstracta, no se puede instanciar if (_modelo == 1) { Aux = new Camisa(T.GetProximoCodigoIndum(), _talle, _precio, Tipo); } else if (_modelo == 2) { Aux = new Pantalon(T.GetProximoCodigoIndum(), _talle, _precio, Tipo); } T.AgregarIndumentaria(Aux); ConsolaHelper.MostrarMensaje("Indumentaria agregada con exito"); ConsolaHelper.MostrarMensaje(Aux.ToString()); } catch (Exception e) { ConsolaHelper.MostrarMensaje(e.Message); } }
static void Main(string[] args) { Console.Title = "Bianchini.Alejo.2D.TP4"; Alimento a1 = new Alimento(1, "Gaseosa", 6, 30, ETipo.perecedero); Alimento a2 = new Alimento(2, "Oreo", 9, 65, ETipo.perecedero); Alimento a3 = new Alimento(3, "Cereal", 4, 26, ETipo.noPerecedero); Indumentaria i1 = new Indumentaria(5, "Remera", 3, "Blanco", 430, ETalle.L); Indumentaria i2 = new Indumentaria(6, "Buzo", 5, "Rojo", 620, ETalle.S); Indumentaria i3 = new Indumentaria(7, "Pantalon", 3, "Negro", 390, ETalle.M); Console.WriteLine(Console.Title); Console.WriteLine("\nPRODUCTOS GENERADOS CON EXITO"); Console.WriteLine("\nPresione una tecla para ver la lista de Alimentos"); Console.WriteLine(" Y luego presione otra vez para ver la lista de Indumentaria"); Console.ReadKey(); Console.Clear(); //Testeo que las listas esten instanciadas y las sobrecargas para agregar objetos a las listas funcionen correctamente. if (a1 + Walmart.ListaAlimentos && a2 + Walmart.ListaAlimentos && a3 + Walmart.ListaAlimentos) { Console.WriteLine("Alimentos cargados a la lista con exito\n"); Console.WriteLine(Walmart.MostrarListaAlimentos()); Console.ReadKey(); Console.Clear(); } if (i1 + Walmart.ListaIndumentaria && i2 + Walmart.ListaIndumentaria && i3 + Walmart.ListaIndumentaria) { Console.WriteLine("\nIndumentaria cargada a la lista con exito\n"); Console.WriteLine(Walmart.MostrarListaIndumentaria()); Console.ReadKey(); Console.Clear(); } Console.WriteLine("\nPresione una tecla para cargar la lista de empleados del archivo Xml..."); Console.ReadKey(); //Testeo que la funcionalidad de deserealizar funcione correctamente. List <Empleado> auxList = new List <Empleado>(); string rutaArchivo = String.Concat(AppDomain.CurrentDomain.BaseDirectory, "Empleados.xml"); Xml <List <Empleado> > archivoXml = new Xml <List <Empleado> >(); archivoXml.Leer(rutaArchivo, out auxList); Walmart.ListaEmpleados = auxList; Console.WriteLine(Walmart.MostrarListaEmpleados()); Console.WriteLine("\n\nPresione una tecla para que se cree una compra..."); Console.ReadKey(); Console.Clear(); //Testeo que todos los articulos de compra se creen correctamente usando Generics para poder pasar tanto objetos del tipo Alimento como el tipo Indumentaria //Creo una compra nueva la cual tambien una Generics, y luego invoco al metodo GenerarTicket de la clase Walmart para verificar que funcione correctamente dicha //funcionalidad del programa. Luego hago un ToString de la compra para mostrar los datos del ticket generado por consola. Compra <Producto> compra = new Compra <Producto>(Walmart.ListaEmpleados[1], 490, DateTime.Now); ArticuloCompra <Producto> art1 = new ArticuloCompra <Producto>(2, a1, 60, 30); ArticuloCompra <Producto> art2 = new ArticuloCompra <Producto>(2, i1, 430, 430); compra.Productos.Add(art1); compra.Productos.Add(art2); Walmart.CompraEnCurso = compra; Walmart.GenerarTicket(); Console.WriteLine("\nSe ha generado un ticket.txt por esta compra, que puede encontrarse en la carpeta bin/Debug del archivo TestConsola\n"); Console.WriteLine(compra.ToString()); Console.ReadKey(); }
public VentaItem(Indumentaria indumentaria, int cantidad) { this._prenda = indumentaria; this._cantidad = cantidad; }