private static void QuitarStock(VentaRepuestos venta) { Program.ListarRepuestos(venta); Console.WriteLine("Seleccione el código de repuesto que va a al que se le va a quitar stock:"); try { int c = ConsolaHelper.PedirInt("Código"); int p = ConsolaHelper.PedirInt("Stock a quitar"); venta.QuitarStock(c, p); Console.WriteLine("Se ha quitado stock."); } catch (Exception ex) { Console.WriteLine("No es posible realizar la operación solicitada: " + ex.Message); } }
private static void QuitarStock(VentaRepuestos local) { Validations.Duda("Es correcta esta forma de trabajar con el loop y la excepcion?"); bool loop = true; do { try { int codigoRepuesto = Validations.IntInsert("Ingrese el codigo del repuesto al que desea quitarle stock", 0, int.MaxValue); loop = local.VerificarCodigoRepuesto(codigoRepuesto); int deltaStock = Validations.IntInsert("Ingrese el stock a quitar", 0, int.MaxValue); local.QuitarStock(codigoRepuesto, deltaStock); } catch (StockMenorCeroException) { loop = true; } } while (loop); }
static void QuitarStock(VentaRepuestos E) { Validaciones V = new Validaciones(); ConsolaHelper H = new ConsolaHelper(); try { if (E.CantidadRepuestos() == 0) { throw new ListaVaciaRepuestoException(); } else { H.MostrarMensaje("\nPor favor seleccione el codigo de repuesto para quitar stock: \n" + "Lista de repuestos: "); E.ListaRepuestos(); } //PIDO CODIGO A MODIFICAR STOCK string _srtCodigoR; int _codigoR = 0; bool _flag1; do { _srtCodigoR = H.PedirCodigoParaQuitarStock(); _flag1 = V.ValidarCodigoRepuesto(_srtCodigoR, ref _codigoR); } while (!_flag1); try { if (E.BuscarCodigoRepuesto(_codigoR) == null) { throw new RepuestoInexistenteException(); } else { //PIDO CUANTAS UNIDADES QUIERO RESTAR string _strStock; int _stock = 0; bool _flag2; do { _strStock = H.PedirStockAQuitar(); _flag2 = V.ValidarStock(_strStock, ref _stock); } while (!_flag2); try { Repuesto R = new Repuesto(); E.QuitarStock(_codigoR, _stock, ref R); H.MostrarMensaje("Stock eliminado con Exito! \n"); H.MostrarMensaje("El repuesto de codigo {0} ahora tiene un stock de {1} unidades", R.Codigo, R.Stock); } catch (QuitarStockException e) { H.MostrarMensaje(e.Message); } } } catch (RepuestoInexistenteException e) { H.MostrarMensaje(e.Message); } } catch (ListaVaciaRepuestoException e) { H.MostrarMensaje(e.Message); } }
static void Main(string[] args) { VentaRepuestos e1 = new VentaRepuestos("Repuestos DeTodo", "Calle Falsa 123"); Categoria c1 = new Categoria(1, "general"); Categoria c2 = new Categoria(2, "especifico"); Categoria c3 = new Categoria(3, "raro"); Console.WriteLine("Bienvenido a: " + e1.NombreComercio); bool finalizar = false; do { int eleccion = ConsolaHelper.PedirNumero( "\nSelecione opción: \n" + "1- Agregar Repuesto \n" + "2- Quitar Repuesto \n" + "3- Modificar Precio \n" + "4- Agregar Stock \n" + "5- Quitar Stock \n" + "6- Traer por Categoria \n" + "7- Salir \n"); if (eleccion > 7 || eleccion < 0) { ConsolaHelper.Mensaje("\n--Debe ingresar una opción válida--\n"); } else { switch (eleccion) { case 1: e1.AgregarRepuesto( ConsolaHelper.PedirNumero("\nIngrese código del repuesto\n"), ConsolaHelper.PedirTexto("\nIngrese nombre del repuesto\n"), ConsolaHelper.PedirDouble("\nIngrese precio del repuesto\n"), ConsolaHelper.PedirNumero("\nIngrese stock inicial\n"), ConsolaHelper.PedirNumero("\nIngrese código de la categoria\n"));; break; case 2: try { e1.QuitarRepuesto(ConsolaHelper.PedirNumero("\nIngrese código del repuesto a quitar\n")); } catch (Exception ex1) { ConsolaHelper.Mensaje(ex1.Message); } break; case 3: try { e1.ModificarPrecio( ConsolaHelper.PedirNumero("\nIngrese código del repuesto a modificar precio\n"), ConsolaHelper.PedirDouble("\nIngrese nuevo precio\n")); } catch (Exception ex1) { ConsolaHelper.Mensaje(ex1.Message); } break; case 4: try { e1.AgregarStock( ConsolaHelper.PedirNumero("\nIngrese código del repuesto a modificar stock\n"), ConsolaHelper.PedirNumero("\nIngrese stock a agregar\n")); } catch (Exception ex1) { ConsolaHelper.Mensaje(ex1.Message); } break; case 5: try { e1.QuitarStock( ConsolaHelper.PedirNumero("\nIngrese código del repuesto a modificar stock\n"), ConsolaHelper.PedirNumero("\nIngrese stock a quitar\n")); } catch (StockNegativoException ex2) { ConsolaHelper.Mensaje(ex2.Message); } catch (Exception ex1) { ConsolaHelper.Mensaje(ex1.Message); } break; case 6: string listado = null; foreach (Repuesto rep in e1.TraerPorCategoria(ConsolaHelper.PedirNumero("\nIngrese código de la categoría\n"))) { listado += rep.ToString() + "\n"; } ConsolaHelper.Mensaje("\n" + listado); break; case 7: finalizar = true; break; } } } while (finalizar == false); }