/* ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── * ─██████████████───██████████████─████████████████───████████████████───██████████████─████████████───██████████████─ * ─██░░░░░░░░░░██───██░░░░░░░░░░██─██░░░░░░░░░░░░██───██░░░░░░░░░░░░██───██░░░░░░░░░░██─██░░░░░░░░████─██░░░░░░░░░░██─ * ─██░░██████░░██───██░░██████░░██─██░░████████░░██───██░░████████░░██───██░░██████░░██─██░░████░░░░██─██░░██████░░██─ * ─██░░██──██░░██───██░░██──██░░██─██░░██────██░░██───██░░██────██░░██───██░░██──██░░██─██░░██──██░░██─██░░██──██░░██─ * ─██░░██████░░████─██░░██──██░░██─██░░████████░░██───██░░████████░░██───██░░██████░░██─██░░██──██░░██─██░░██──██░░██─ * ─██░░░░░░░░░░░░██─██░░██──██░░██─██░░░░░░░░░░░░██───██░░░░░░░░░░░░██───██░░░░░░░░░░██─██░░██──██░░██─██░░██──██░░██─ * ─██░░████████░░██─██░░██──██░░██─██░░██████░░████───██░░██████░░████───██░░██████░░██─██░░██──██░░██─██░░██──██░░██─ * ─██░░██────██░░██─██░░██──██░░██─██░░██──██░░██─────██░░██──██░░██─────██░░██──██░░██─██░░██──██░░██─██░░██──██░░██─ * ─██░░████████░░██─██░░██████░░██─██░░██──██░░██████─██░░██──██░░██████─██░░██──██░░██─██░░████░░░░██─██░░██████░░██─ * ─██░░░░░░░░░░░░██─██░░░░░░░░░░██─██░░██──██░░░░░░██─██░░██──██░░░░░░██─██░░██──██░░██─██░░░░░░░░████─██░░░░░░░░░░██─ * ─████████████████─██████████████─██████──██████████─██████──██████████─██████──██████─████████████───██████████████─ * ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── */ public void borrarVehiculo(string depEnGestion) { Console.WriteLine(); Console.WriteLine("------------------------------------"); Console.WriteLine("-------------¡CUIDADO!--------------"); Console.WriteLine("------------------------------------"); Console.WriteLine("Esta opcion es irreversible, asi que ten cuidado con lo que eliminas"); Console.WriteLine(); Console.WriteLine("Porfavor introduce el ID del vehiculo que deseas eliminar"); Console.WriteLine(); int borrador = int.Parse(Console.ReadLine()); Vehiculo listavehiculo = null; Vehiculos vehiculos = null; switch (depEnGestion) { case "1": DepCarga depcarga = null; bool complete = false; foreach (var i in listaDeVehiculos) { if (i.ID == borrador) { listavehiculo = i; int id = i.ID; foreach (var x in db.DepCarga) { if (x.vehiculoID == id) { int vehiculoID = x.vehiculoID; depcarga = x; foreach (var y in db.Vehiculos) { if (vehiculoID == y.ID) { vehiculos = y; complete = true; } } } } } } if (depcarga == null) { Console.WriteLine("Haz introducido un ID incorrecto"); } listaDeVehiculos.Remove(listavehiculo); db.DepCarga.Remove(depcarga); db.Vehiculos.Remove(vehiculos); db.SaveChanges(); Console.WriteLine(); if (complete) { Console.WriteLine("Vehiculo eliminado de manera exitosa"); } else { Console.WriteLine("Lo siento, no hemos podido eliminar el vehiculo, asegurate de que el ID introducido sea correcto"); } Console.WriteLine(); break; case "2": bool complete2 = false; DepTransporte deptransporte = null; foreach (var i in listaDeVehiculos) { if (i.ID == borrador) { listavehiculo = i; int id = i.ID; foreach (var x in this.db.DepTransporte) { if (x.vehiculoID == id) { int vehiculoID = x.vehiculoID; deptransporte = x; foreach (var y in db.Vehiculos) { if (vehiculoID == y.ID) { vehiculos = y; complete2 = true; } } } } } } listaDeVehiculos.Remove(listavehiculo); db.DepTransporte.Remove(deptransporte); db.Vehiculos.Remove(vehiculos); db.SaveChanges(); if (complete2) { Console.WriteLine("Vehiculo eliminado de manera exitosa"); } else { Console.WriteLine("Lo siento, no hemos podido eliminar el vehiculo, asegurate de que el ID introducido sea correcto"); } break; } }
/* ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── * ─██████──────────██████─██████████████─████████████───██████████─██████████████─██████████─██████████████─██████████████─████████████████─── * ─██░░██████████████░░██─██░░░░░░░░░░██─██░░░░░░░░████─██░░░░░░██─██░░░░░░░░░░██─██░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░░░██─── * ─██░░░░░░░░░░░░░░░░░░██─██░░██████░░██─██░░████░░░░██─████░░████─██░░██████████─████░░████─██░░██████████─██░░██████░░██─██░░████████░░██─── * ─██░░██████░░██████░░██─██░░██──██░░██─██░░██──██░░██───██░░██───██░░██───────────██░░██───██░░██─────────██░░██──██░░██─██░░██────██░░██─── * ─██░░██──██░░██──██░░██─██░░██──██░░██─██░░██──██░░██───██░░██───██░░██████████───██░░██───██░░██─────────██░░██████░░██─██░░████████░░██─── * ─██░░██──██░░██──██░░██─██░░██──██░░██─██░░██──██░░██───██░░██───██░░░░░░░░░░██───██░░██───██░░██─────────██░░░░░░░░░░██─██░░░░░░░░░░░░██─── * ─██░░██──██████──██░░██─██░░██──██░░██─██░░██──██░░██───██░░██───██░░██████████───██░░██───██░░██─────────██░░██████░░██─██░░██████░░████─── * ─██░░██──────────██░░██─██░░██──██░░██─██░░██──██░░██───██░░██───██░░██───────────██░░██───██░░██─────────██░░██──██░░██─██░░██──██░░██───── * ─██░░██──────────██░░██─██░░██████░░██─██░░████░░░░██─████░░████─██░░██─────────████░░████─██░░██████████─██░░██──██░░██─██░░██──██░░██████─ * ─██░░██──────────██░░██─██░░░░░░░░░░██─██░░░░░░░░████─██░░░░░░██─██░░██─────────██░░░░░░██─██░░░░░░░░░░██─██░░██──██░░██─██░░██──██░░░░░░██─ * ─██████──────────██████─██████████████─████████████───██████████─██████─────────██████████─██████████████─██████──██████─██████──██████████─ * ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── */ public void modificarVehiculo() { Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("------------------------------------"); Console.WriteLine("-------------¡CUIDADO!--------------"); Console.WriteLine("------------------------------------"); Console.WriteLine("Esta opcion es peligrosa, asi que ten cuidado con lo que modificas"); Console.WriteLine(); Console.WriteLine("Porfavor introduce el ID del vehiculo que deseas modificar"); Console.WriteLine(); int.TryParse(Console.ReadLine(), out int result); Vehiculo item = null; listaDeVehiculos.ForEach(delegate(Vehiculo i) { if (i.ID == result) { item = i; Console.WriteLine("¡ATENCION!"); Console.WriteLine($"Vas a modificar el siguiente vehiculo: \nMarca: {i.marca} \nModelo: {i.modelo} \nMatricula: {i.matricula} \nColor: {i.color} \nID: {i.ID}"); if (i is DtoCarga) { ((DtoCarga)item).capacidadKG = ((DtoCarga)i).capacidadKG; Console.WriteLine($"Capacidad de carga: {((DtoCarga)i).capacidadKG}"); } else { ((DtoTransporte)item).capacidadDePersonas = ((DtoTransporte)i).capacidadDePersonas; Console.WriteLine($"Capacidad de carga: {((DtoTransporte)i).capacidadDePersonas}"); } Console.WriteLine(); Console.WriteLine(); } }); if (item == null) { Console.WriteLine("No hemos encontrado ningun vehiculo con ese ID, intentalo de nuevo"); } else { Vehiculos vehiculo = null; foreach (var x in db.Vehiculos) { if (x.ID == result) { vehiculo = x; } } Console.WriteLine(); Console.WriteLine("¿Que le deseas modificar a este vehiculo?"); Console.WriteLine(); Console.WriteLine("1 - Marca"); Console.WriteLine("2 - Modelo"); Console.WriteLine("3 - Color"); Console.WriteLine("4 - Capacidad de Carga/Transporte"); Console.WriteLine("5 - Matricula"); Console.WriteLine(); Console.WriteLine("SELECCIONA UNA OPCION PARA CONTINUAR"); string opcion = Console.ReadLine(); switch (opcion) { case "1": Console.WriteLine(); Console.WriteLine("Bien, vamos a modificar la marca del vehiculo. \nIntroduce la nueva marca: "); Console.WriteLine(); item.marca = Console.ReadLine(); vehiculo.marca = item.marca; break; case "2": Console.WriteLine(); Console.WriteLine("Bien, vamos a modificar el modelo del vehiculo. \nIntroduce el nuevo modelo: "); Console.WriteLine(); item.modelo = Console.ReadLine(); vehiculo.modelo = item.modelo; break; case "3": Console.WriteLine(); Console.WriteLine("Bien, vamos a modificar el color del vehiculo. \nIntroduce el nuevo color: "); Console.WriteLine(); item.color = Console.ReadLine(); vehiculo.color = item.color; break; case "4": Console.WriteLine(); Console.WriteLine("Bien, vamos a modificar la capacidad de carga/transporte del vehiculo. \nIntroduce la nueva capacidad: "); Console.WriteLine(); if (item is DtoCarga) { ((DtoCarga)item).capacidadKG = int.Parse(Console.ReadLine()); DepCarga modify = null; foreach (var x in db.DepCarga) { if (x.vehiculoID == result) { x.cargaMax = ((DtoCarga)item).capacidadKG; modify = x; } } db.Entry(modify).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } else { ((DtoTransporte)item).capacidadDePersonas = int.Parse(Console.ReadLine()); DepTransporte modify = null; foreach (var x in db.DepTransporte) { if (x.vehiculoID == result) { x.maxPersonas = ((DtoTransporte)item).capacidadDePersonas; modify = x; } } db.Entry(modify).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } break; case "5": Console.WriteLine(); Console.WriteLine("Bien, vamos a modificar la matricula del vehiculo. \nIntroduce la nueva matricula: "); Console.WriteLine(); item.matricula = Console.ReadLine(); break; } } }
/* ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── * ─██████████████─██████████████─████████████████───██████████████─██████████████─██████████████─████████████████─── * ─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░░░██───██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░░░██─── * ─██░░██████░░██─██░░██████████─██░░████████░░██───██░░██████████─██░░██████████─██░░██████░░██─██░░████████░░██─── * ─██░░██──██░░██─██░░██─────────██░░██────██░░██───██░░██─────────██░░██─────────██░░██──██░░██─██░░██────██░░██─── * ─██░░██████░░██─██░░██─────────██░░████████░░██───██░░██████████─██░░██─────────██░░██████░░██─██░░████████░░██─── * ─██░░░░░░░░░░██─██░░██──██████─██░░░░░░░░░░░░██───██░░░░░░░░░░██─██░░██──██████─██░░░░░░░░░░██─██░░░░░░░░░░░░██─── * ─██░░██████░░██─██░░██──██░░██─██░░██████░░████───██░░██████████─██░░██──██░░██─██░░██████░░██─██░░██████░░████─── * ─██░░██──██░░██─██░░██──██░░██─██░░██──██░░██─────██░░██─────────██░░██──██░░██─██░░██──██░░██─██░░██──██░░██───── * ─██░░██──██░░██─██░░██████░░██─██░░██──██░░██████─██░░██████████─██░░██████░░██─██░░██──██░░██─██░░██──██░░██████─ * ─██░░██──██░░██─██░░░░░░░░░░██─██░░██──██░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░██──██░░██─██░░██──██░░░░░░██─ * ─██████──██████─██████████████─██████──██████████─██████████████─██████████████─██████──██████─██████──██████████─ * ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── */ public void agregarVehiculo(string depEnGestion) { switch (depEnGestion) { case "1": Console.WriteLine("¿Que tipo de vehiculo de carga deseas añadir al sistema?"); Console.WriteLine(); Console.WriteLine("1 - Camion \n2 - Remolque"); Console.WriteLine(); Console.WriteLine("Elige una opcion presionando '1' para añadir un camion o '2' para añadir un remolque"); Console.WriteLine(); string option = Console.ReadLine(); if (option == "1") { Console.WriteLine(); Console.WriteLine("¡Bien! Vamos a añadir un nuevo camion, empecemos: "); ToolService.nuevoVehciulo(); Console.WriteLine("Porvafor, indicame la carga maxima del camion en toneladas (numeros enteros, por ejemplo: 1 o 50): "); int.TryParse(Console.ReadLine(), out int cargaMax); Vehiculo nuevoCamion = new Camion(0, ToolService.marca, ToolService.modelo, ToolService.matricula, ToolService.color, cargaMax); listaDeVehiculos.Add(nuevoCamion); DepCarga nuevo = new DepCarga(); nuevo.Vehiculos = new Vehiculos(); nuevo.Vehiculos.color = nuevoCamion.color; nuevo.Vehiculos.marca = nuevoCamion.marca; nuevo.Vehiculos.modelo = nuevoCamion.modelo; nuevo.Vehiculos.matricula = nuevoCamion.matricula; nuevo.cargaMax = cargaMax; nuevo.tipo = 1; db.DepCarga.Add(nuevo); db.SaveChanges(); nuevoCamion.ID = nuevo.vehiculoID; Console.WriteLine(); Console.WriteLine(); Console.WriteLine($"Has creado un nuevo Camion con las siguientes caracteristicas: \nMarca: {nuevoCamion.marca} \nModelo: {nuevoCamion.modelo} \nMatricula: {nuevoCamion.matricula} \nColor: {nuevoCamion.color} \nCarga Maxima:{cargaMax} toneladas \nID: {nuevoCamion.ID}"); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); } if (option == "2") { Console.WriteLine(); Console.WriteLine("¡Bien! Vamos a añadir un nuevo remolque, empecemos: "); ToolService.nuevoVehciulo(); Console.WriteLine("Porvafor, indicame la carga maxima del remolque en toneladas (numeros enteros, por ejemplo: 1 o 50): "); int.TryParse(Console.ReadLine(), out int cargaMax); Vehiculo nuevoRemolque = new Remolque(0, ToolService.marca, ToolService.modelo, ToolService.matricula, ToolService.color, cargaMax); listaDeVehiculos.Add(nuevoRemolque); DepCarga nuevo = new DepCarga(); nuevo.Vehiculos = new Vehiculos(); nuevo.Vehiculos.color = nuevoRemolque.color; nuevo.Vehiculos.marca = nuevoRemolque.marca; nuevo.Vehiculos.modelo = nuevoRemolque.modelo; nuevo.Vehiculos.matricula = nuevoRemolque.matricula; nuevo.cargaMax = cargaMax; nuevo.tipo = 2; db.DepCarga.Add(nuevo); db.SaveChanges(); nuevoRemolque.ID = nuevo.vehiculoID; Console.WriteLine(); Console.WriteLine(); Console.WriteLine($"Has creado un nuevo remolque con las siguientes caracteristicas: \nMarca: {nuevoRemolque.marca} \nModelo: {nuevoRemolque.modelo} \nMatricula: {nuevoRemolque.matricula} \nColor: {nuevoRemolque.color} \nCarga Maxima:{cargaMax} toneladas \nID: {nuevoRemolque.ID}"); Console.WriteLine(); Console.WriteLine(); } break; case "2": Console.WriteLine(); Console.WriteLine("¿Que tipo de vehiculo de carga deseas añadir al sistema?"); Console.WriteLine("1 - Automovil \n2 - Motocicleta"); Console.WriteLine(); Console.WriteLine("Elige una opcion presionando '1' para añadir un automovil o '2' para añadir una motocicleta"); Console.WriteLine(); string option2 = Console.ReadLine(); if (option2 == "1") { Console.WriteLine(); Console.WriteLine("¡Bien! Vamos a añadir un nuevo automovil, empecemos: "); ToolService.nuevoVehciulo(); Console.WriteLine("Porvafor, indicame la capacidad maxima de pasajeros del vehiculo (numeros enteros, por ejemplo: 1 o 50): "); int.TryParse(Console.ReadLine(), out int numPasajeros); Vehiculo nuevoVehiculo = new Automovil(0, ToolService.marca, ToolService.modelo, ToolService.matricula, ToolService.color, numPasajeros); listaDeVehiculos.Add(nuevoVehiculo); DepTransporte nuevo = new DepTransporte(); nuevo.Vehiculos = new Vehiculos(); nuevo.Vehiculos.color = nuevoVehiculo.color; nuevo.Vehiculos.marca = nuevoVehiculo.marca; nuevo.Vehiculos.modelo = nuevoVehiculo.modelo; nuevo.Vehiculos.matricula = nuevoVehiculo.matricula; nuevo.maxPersonas = numPasajeros; nuevo.tipo = 1; db.DepTransporte.Add(nuevo); db.SaveChanges(); nuevoVehiculo.ID = nuevo.vehiculoID; Console.WriteLine(); Console.WriteLine(); Console.WriteLine($"Has creado un nuevo automovil con las siguientes caracteristicas: \nMarca: {nuevoVehiculo.marca} \nModelo: {nuevoVehiculo.modelo} \nMatricula: {nuevoVehiculo.matricula} \nColor: {nuevoVehiculo.color} \nMaximo de pasajeros: {numPasajeros} pasajeros \nID: {nuevoVehiculo.ID}"); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); } if (option2 == "2") { Console.WriteLine(); Console.WriteLine("¡Bien! Vamos a añadir una nueva motocicleta, empecemos: "); ToolService.nuevoVehciulo(); Console.WriteLine("Porvafor, a capacidad maxima de pasajeros del vehiculo (numeros enteros, por ejemplo: 1 o 50): "); int.TryParse(Console.ReadLine(), out int numPasajeros); Vehiculo nuevoVehiculo = new Motocicleta(0, ToolService.marca, ToolService.modelo, ToolService.matricula, ToolService.color, numPasajeros); listaDeVehiculos.Add(nuevoVehiculo); DepTransporte nuevo = new DepTransporte(); nuevo.Vehiculos = new Vehiculos(); nuevo.Vehiculos.color = nuevoVehiculo.color; nuevo.Vehiculos.marca = nuevoVehiculo.marca; nuevo.Vehiculos.modelo = nuevoVehiculo.modelo; nuevo.Vehiculos.matricula = nuevoVehiculo.matricula; nuevo.maxPersonas = numPasajeros; nuevo.tipo = 2; db.DepTransporte.Add(nuevo); db.SaveChanges(); nuevoVehiculo.ID = nuevo.vehiculoID; Console.WriteLine(); Console.WriteLine(); Console.WriteLine($"Has creado un nuevo automovil con las siguientes caracteristicas: \nMarca: {nuevoVehiculo.marca} \nModelo: {nuevoVehiculo.modelo} \nMatricula: {nuevoVehiculo.matricula} \nColor: {nuevoVehiculo.color} \nMaximo de pasajeros: {numPasajeros} pasajetos \nID: {nuevoVehiculo.ID}"); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); } break; } }