// ******************* BORRA UNA PROMOCION SELECCIONADA ******************************** public static void BorrarPromocion() { try{ Menu.BannerPromociones("Baja Promociones"); Console.WriteLine("\n\n Seleccione PROMOCION a eliminar!"); Promocion.ImprimirPromociones(EstacionServicio.promociones); int indice = int.Parse(Console.ReadLine()); Promocion.BajaPromocion(EstacionServicio.promociones, indice); } catch (ArgumentOutOfRangeException) { //Menu.BannerPromociones("Baja Promociones"); Console.WriteLine(" El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección."); Console.ReadLine(); Console.Clear(); BorrarPromocion(); } catch (FormatException) { //Menu.BannerPromociones("Baja Promociones"); Console.WriteLine("Error ingrese un valor numerico entero"); Console.ReadLine(); Console.Clear(); BorrarPromocion(); } }
//***********************************************************CARGAR COMBUSTIBLE************************************************************************ //pide nro de surtidor a ocupar, los litros de combustible cargados, calcula monto con descuento de corresponder //suma monto de descuento al total de descuentos y agrega la venta al arreglo correspondiente public static void CargarCombustible() { Menu.BannerSurtidores("Cargar combustible"); Console.WriteLine("Ingrese el nro de surtidor a ocupar: \n"); try{ int surtidornumero = int.Parse(Console.ReadLine()); Surtidor surtidorAsociado = null; float montoDescuento = 0; foreach (Surtidor s in EstacionServicio.surtidoresOn) { if (s.Numero_de_surtidor == surtidornumero) { surtidorAsociado = s; } } Console.WriteLine("Ingrese cantidad de litros cargados: \n"); surtidorAsociado.Cantidad_litros_ventidos_en_una_venta = float.Parse(Console.ReadLine()); float monto = surtidorAsociado.Cantidad_litros_ventidos_en_una_venta * surtidorAsociado.Precio_litro; Promocion promocionAplicada = null; Console.WriteLine("Paga con alguna promocion?s/n \n"); string aplicaPromo = Console.ReadLine(); if (aplicaPromo.ToLower() == "s") { if (EstacionServicio.promociones.Count == 0) { Console.WriteLine("No hay promociones dadas de alta\n"); } else { Promocion.ImprimirPromociones(EstacionServicio.promociones); Console.WriteLine("Ingrese tipo de promocion a utilizar:\n"); int nroPromo = int.Parse(Console.ReadLine()); promocionAplicada = (Promocion)EstacionServicio.promociones[nroPromo - 1]; if (promocionAplicada.Tipo_promocion.ToLower() == "porcentual") { montoDescuento = (monto * (Convert.ToSingle(promocionAplicada.Descuento) / 100)); EstacionServicio.montoTotalDescuentos += montoDescuento; //****************************agrego el monto descontado al monto total de los descuentos********************************************* monto -= montoDescuento; Console.WriteLine("\nEl monto total de la venta con descuento es: $" + monto + "\n"); } } } else { Console.WriteLine("\nEl monto total de la venta es: $" + monto + "\n"); } surtidorAsociado.Stock_combustible -= surtidorAsociado.Cantidad_litros_ventidos_en_una_venta; EstacionServicio.ventas.Add(new Venta(monto, surtidorAsociado.Cantidad_litros_ventidos_en_una_venta, surtidorAsociado.Playedo_asignado, surtidorAsociado, promocionAplicada, montoDescuento)); } catch (FormatException) { Console.WriteLine("Entrada invalida, Ingrese un valor numerico\n"); Console.ReadKey(); Console.Clear(); CargarCombustible(); } catch (NullReferenceException) { Console.WriteLine("\nEl surtidor elegido no se encuentra habilitado"); Console.ReadKey(); Console.Clear(); CargarCombustible(); } }
// ******************* IMPRIME PROMOCIONES VIGENTES CON MENU **************************** public static void ListarPromociones(string op, ArrayList promociones) { Menu.BannerPromociones(op); Promocion.ImprimirPromociones(promociones); }