/* Metodo para editar productos */ public static void Editar() { Console.Clear(); //Sentencia if para comprobar si hay productos if (inventario.Count > 0) { Inventario.Listar(false); /* Solicitar al usuario el indice del producto a modificar */ Console.WriteLine("Ingrese el indice del producto: "); int indice = Convert.ToInt32(Console.ReadLine()); //Creando instancia del producto elegido para poder modificarlo Producto producto = inventario[indice - 1]; /* Solicitar al usuario el nuevo nombre del producto */ Console.WriteLine("Ingrese el nuevo nombre del producto: "); string nombre = Console.ReadLine(); /* Solicitar al usuario el nuevo precio del producto */ Console.WriteLine("Ingrese el nuevo precio del producto: "); double precio = Convert.ToDouble(Console.ReadLine()); /* Solicitar al usuario el nuevo nombre del producto */ Console.WriteLine("Ingrese la nueva cantidad del producto: "); int cantidad = Convert.ToInt32(Console.ReadLine()); /* Asignando valores al metodo editar de la instancia */ producto.Editar(nombre, precio, cantidad); /* Asignando instancia a su posicion en la lista */ inventario[indice - 1] = producto; } else { //Imprimir mensaje si no hay productos Console.WriteLine("No hay productos"); Console.ReadKey(); } }
/* Metodo para borrar productos */ public static void Borrar() { Console.Clear(); //Sentencia if para comprobar si hay productos if (inventario.Count > 0) { Inventario.Listar(false); /* Solicitar al usuario el indice del cliente a borrar */ Console.WriteLine("Ingrese el indice del producto: "); int producto = Convert.ToInt32(Console.ReadLine()); /* Eliminar el producto */ inventario.RemoveAt(producto - 1); } else { //Imprimir mensaje si no hay productos Console.WriteLine("No hay productos"); Console.ReadKey(); } }
/* Metodo para agregar productos */ public static void Agregar() { Console.Clear(); bool seguirComprando = true; Clientes.Listar(false); /* Solicitar al usuario el cliente que realizara la compra */ Console.WriteLine("Ingrese el indice del cliente: "); int cliente = Convert.ToInt32(Console.ReadLine()); //Crear factura dentro de la lista de facturas facturas.Add(new Factura { cliente = Clientes.clientes[cliente - 1], productos = new List <Producto>(), subTotal = 0.00, impuestos = 0.00, total = 0.00 }); //Creando variable para almacenar el indice de la factura actual int indiceFactura = facturas.Count - 1; //Crear instancia de la factura actual para ir agregandole los productos Factura factura = facturas[indiceFactura]; //Ciclo do while para agregar productos mientras el usuario quiera do { Inventario.Listar(false); /* Solicitar al usuario el producto que desea agregar */ Console.WriteLine("Ingrese el indice del producto a agregar: "); int indiceProducto = Convert.ToInt32(Console.ReadLine()); /* Instanciar productos para actualizar el inventario */ Producto producto = Inventario.inventario[indiceProducto - 1]; //Declarar variable de cantidad y para ingresar otra cantidad bool otraCantidad = true; int cantidad; //Bucle do while para preguntar al usuario si desea ingresar otra cantidad do { /* Solicitar al usuario la cantidad del nuevo Producto */ Console.WriteLine("Ingrese la cantidad: "); cantidad = Convert.ToInt32(Console.ReadLine()); //Sentencia if para comparar si la cantidad ingresada por el usuario es mayor a la existente if (cantidad > producto.cantidad || producto.cantidad == 0) { Console.WriteLine("La cantidad que ingreso supera la disponibilidad de este producto que es de solo {0} unidades", producto.cantidad); /* Preguntar al usuario si desea ingresar otro monto */ Console.WriteLine("Ingrese (S) para agregar nueva cantidad y (N) para escoger otro producto: "); otraCantidad = (Console.ReadLine() == "s") ? true : false; } else { break; } } while (otraCantidad); // Si otra cantidad es false reiniciamos el ciclo if (otraCantidad == false) { continue; } /* Agregar producto a la nueva factura */ factura.productos.Add(new Producto { nombre = producto.nombre, precio = (double)(producto.precio * cantidad), cantidad = cantidad }); /* Sumar el valor del precio del producto por la cantidad al subtotal */ factura.subTotal += (double)(producto.precio * cantidad); /* Decrementar la cantidad solicitada al producto en el inventario */ producto.cantidad -= cantidad; Inventario.inventario[indiceProducto - 1] = producto; /* Preguntar al usuario si desea salir de la facturacion */ Console.WriteLine("Ingrese (S) para seguir comprando y (N) para salir: "); seguirComprando = (Console.ReadLine() == "s") ? true : false; } while (seguirComprando); //Calcular impuestos factura.impuestos = factura.subTotal * (ITBIS / 100); //Calcular total factura.total = factura.subTotal + factura.impuestos; /* Asignar la instancia modificada de la factura a su posicion en la lista de facturas*/ facturas[indiceFactura] = factura; }
/* Metodo para imprimir el menu de producto */ public static void Menu() { Console.Clear(); Console.WriteLine("Punto de venta - Productos"); Console.WriteLine("1- Agregar Producto"); Console.WriteLine("2- Editar Producto"); Console.WriteLine("3- Borrar Producto"); Console.WriteLine("4- Listar Productos"); Console.WriteLine("5- Atras"); //Declaracion de variable opcion int?opcion = null; //Solicitar al usuario una opcion Console.WriteLine("Ingrese una de las opciones:"); /* Almacenar opcion */ opcion = Convert.ToInt32(Console.ReadLine()); /* Sentencia switch para evaluar la opcion escogida por el usuario */ switch (opcion) { /* Agregar Producto */ case (int)MenuInventario.Agregar: Inventario.Agregar(); //Al terminar volver al menu de Productos Inventario.Menu(); break; /* Editar Producto */ case (int)MenuInventario.Editar: Inventario.Editar(); //Al terminar volver al menu de Productos Inventario.Menu(); break; /* Borrar Producto */ case (int)MenuInventario.Borrar: Inventario.Borrar(); //Al terminar volver al menu de Productos Inventario.Menu(); break; /* Listar Productos */ case (int)MenuInventario.Listar: Inventario.Listar(); //Al terminar volver al menu de Productos Inventario.Menu(); break; /* Atras */ case (int)MenuInventario.Atras: Program.menuPrincipal(); break; /* Defecto */ default: Console.WriteLine("La opcion elegida no existe!"); break; } }