public string Enviar_a_Ensamblaje(Almacenamiento almacenamiento) { if ((almacenamiento.Hora >= 8) && (almacenamiento.Hora <= 18)) { if (almacenamiento.Interruptor == "OFF") { almacenamiento.Encendido_Maquina(almacenamiento.Nombre); } } else { if (almacenamiento.Interruptor == "ON") { almacenamiento.Apagado_Maquina(almacenamiento.Nombre, almacenamiento.Hora); } Console.WriteLine("Horario NO Laboral, Maquina " + almacenamiento.Nombre + " esta apagada, las piezas no han podido ser Almacenadas por esta Maquina"); } if (almacenamiento.Interruptor == "ON") { Random rnd = new Random(); if (almacenamiento.Memoria + Piezas_Recibidas <= 100) { almacenamiento.Piezas_Almacenadas += almacenamiento.Piezas_Recibidas; almacenamiento.Piezas_Ensamblaje = almacenamiento.Piezas_Almacenadas; almacenamiento.Piezas_Almacenadas -= almacenamiento.Piezas_Ensamblaje; almacenamiento.Memoria += almacenamiento.Piezas_Ensamblaje; if (almacenamiento.Memoria == 100) { Console.WriteLine("La Maquina " + almacenamiento.Nombre + "No dispone de mas Memoria"); almacenamiento.Reinicio_Maquina(almacenamiento.Nombre); } //Console.WriteLine(""); Console.WriteLine("Se han almacenado " + almacenamiento.Piezas_Ensamblaje + " Piezas"); //Console.WriteLine(""); Console.WriteLine("Piezas enviadas a Ensamblaje"); return(" "); } else { Console.WriteLine("La Maquina " + almacenamiento.Nombre + "No dispone de mas Memoria"); almacenamiento.Reinicio_Maquina(almacenamiento.Nombre); almacenamiento.Piezas_Almacenadas += almacenamiento.Piezas_Recibidas; almacenamiento.Piezas_Ensamblaje = rnd.Next(0, almacenamiento.Piezas_Almacenadas); almacenamiento.Piezas_Almacenadas -= almacenamiento.Piezas_Ensamblaje; almacenamiento.Memoria += almacenamiento.Piezas_Ensamblaje; //Console.WriteLine(""); Console.WriteLine("Se han almacenado " + almacenamiento.Piezas_Ensamblaje + " Piezas"); //Console.WriteLine(""); Console.WriteLine("Piezas enviadas a Ensamblaje"); return(" "); } } else { Console.WriteLine("Maquina " + almacenamiento.Nombre + " esta Apagada, ha sido imposible enviar las piezas a Ensamblar"); return(" "); } }
static void Main(string[] args) { Recepcion recepciones = new Recepcion(); Almacenamiento almacenamientos = new Almacenamiento(); Ensamblaje ensamblajes = new Ensamblaje(); Verificacion verificaciones = new Verificacion(); Empaque empaques = new Empaque(); recepciones.Nombre = " de Recepcion "; almacenamientos.Nombre = " de Almacenamiento "; ensamblajes.Nombre = " de Ensamblaje "; verificaciones.Nombre = " de Verificacion "; empaques.Nombre = " de Empaque "; Random rnd = new Random(); bool Running = true; while (Running == true) { Console.WriteLine("Bienvenido!"); Console.WriteLine(""); Console.WriteLine("Esta es la Interfaz del Computador Central"); Console.WriteLine(""); Console.WriteLine("Como te gustaria operar? "); Console.WriteLine("Pulsa / 1 para control manual / 2 para control automatico / 3 para apagar"); Console.WriteLine(""); string Opcion_Inicial = Console.ReadLine(); if (Opcion_Inicial == "1") { recepciones.Automatico = false; almacenamientos.Automatico = false; ensamblajes.Automatico = false; verificaciones.Automatico = false; empaques.Automatico = false; } else if (Opcion_Inicial == "2") { recepciones.Automatico = true; almacenamientos.Automatico = true; ensamblajes.Automatico = true; verificaciones.Automatico = true; empaques.Automatico = true; } else if (Opcion_Inicial == "3") { break; } else { Console.WriteLine("Opcion Invalida!"); Console.WriteLine(""); Console.WriteLine("Redirigiendo..."); } //Conteo Horas dia for (int Contador_Hora = 0; Contador_Hora < 24; Contador_Hora++) { recepciones.Hora = Contador_Hora; almacenamientos.Hora = Contador_Hora; ensamblajes.Hora = Contador_Hora; verificaciones.Hora = Contador_Hora; empaques.Hora = Contador_Hora; Console.WriteLine("Hora --> [" + Contador_Hora + ":00]"); Console.WriteLine(""); Console.WriteLine(""); //llamado a metodos de Maquinas por cada hora del dia if ((Contador_Hora <= 8) || (Contador_Hora >= 18)) { recepciones.Interruptor = "OFF"; almacenamientos.Interruptor = "OFF"; ensamblajes.Interruptor = "OFF"; verificaciones.Interruptor = "OFF"; empaques.Interruptor = "OFF"; if (Contador_Hora == 19) { Console.WriteLine("###############################################"); Console.WriteLine("# #"); Console.WriteLine("# FIN HORARIO LABORAL #"); Console.WriteLine("# #"); Console.WriteLine("###############################################"); Console.WriteLine(""); recepciones.Apagado_Maquina(recepciones.Nombre, recepciones.Hora); almacenamientos.Apagado_Maquina(almacenamientos.Nombre, almacenamientos.Hora); ensamblajes.Apagado_Maquina(ensamblajes.Nombre, ensamblajes.Hora); verificaciones.Apagado_Maquina(verificaciones.Nombre, verificaciones.Hora); empaques.Apagado_Maquina(empaques.Nombre, empaques.Hora); Console.WriteLine(""); Console.WriteLine("###############################################"); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine(""); } } if (Contador_Hora >= 8) { if (Contador_Hora <= 18) { recepciones.Interruptor = "ON"; almacenamientos.Interruptor = "ON"; ensamblajes.Interruptor = "ON"; verificaciones.Interruptor = "ON"; empaques.Interruptor = "ON"; if (Contador_Hora == 8) { Console.WriteLine("###############################################"); Console.WriteLine("# #"); Console.WriteLine("# INICIO HORARIO LABORAL #"); Console.WriteLine("# #"); Console.WriteLine("###############################################"); Console.WriteLine(""); recepciones.Encendido_Maquina(recepciones.Nombre); almacenamientos.Encendido_Maquina(almacenamientos.Nombre); ensamblajes.Encendido_Maquina(ensamblajes.Nombre); verificaciones.Encendido_Maquina(verificaciones.Nombre); empaques.Encendido_Maquina(empaques.Nombre); Console.WriteLine(""); } } } recepciones.Piezas_Recibidas = rnd.Next(0, 200); recepciones.Recibir_Piezas(recepciones); recepciones.Enviar_a_Almacenamiento(recepciones); Console.WriteLine(""); almacenamientos.Piezas_Recibidas = recepciones.Piezas_Almacenamiento; almacenamientos.Almacenar_Piezas(almacenamientos); almacenamientos.Enviar_a_Ensamblaje(almacenamientos); Console.WriteLine(""); ensamblajes.Piezas_Recibidas = almacenamientos.Piezas_Ensamblaje; ensamblajes.Verificar_Piezas(ensamblajes); ensamblajes.Ensamblar_Piezas(ensamblajes); Console.WriteLine(""); verificaciones.Piezas_Recibidas = ensamblajes.Piezas_Verificacion; verificaciones.Verificar_Pieza(verificaciones); verificaciones.Enviar_a_Empaque(verificaciones); Console.WriteLine(""); empaques.Piezas_Empaquetadas = verificaciones.Piezas_Empaque; empaques.Empaquetar_Pieza(empaques); empaques.Enviar_Empaque(empaques); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine(""); } } }