private void btnInicio_Click(object sender, EventArgs e) { Cola0 = Cola0.OrderBy(x => x.TE).ToList(); Cola1 = Cola1.OrderBy(x => x.TE).ToList(); Cola2 = Cola2.OrderBy(x => x.TE).ToList(); Cola3 = Cola3.OrderBy(x => x.TE).ToList(); Cola4 = Cola4.OrderBy(x => x.TE).ToList(); Cola5 = Cola5.OrderBy(x => x.TE).ToList(); //Prioridad 0 if (Cola0.Count != 0) { for (int i = 0; i < Cola0.Count; i++) { Proceso item = Cola0[i]; item.TE -= 1; if (item.TE > 0) { Cola0.Remove(item); Cola1.Add(item); i--; } else { item.ActualizarEstado(); Cola0.Remove(item); i--; op = true; } MostrarProcesoAcabado(item); mostrarProcesos(); break; } } //Prioridad 1 else if (Cola0.Count == 0 && Cola1.Count != 0) { for (int i = 0; i < Cola1.Count; i++) { Proceso item = Cola1[i]; item.TE -= 2; if (item.TE > 0) { Cola1.Remove(item); Cola2.Add(item); i--; } else { item.ActualizarEstado(); Cola1.Remove(item); i--; op = true; } MostrarProcesoAcabado(item); mostrarProcesos(); break; } } //Prioridad 2 else if (Cola1.Count == 0 && Cola2.Count != 0) { for (int i = 0; i < Cola2.Count; i++) { Proceso item = Cola2[i]; item.TE -= 4; if (item.TE > 0) { Cola2.Remove(item); Cola3.Add(item); i--; } else { item.ActualizarEstado(); Cola2.Remove(item); i--; op = true; } MostrarProcesoAcabado(item); mostrarProcesos(); break; } } //Prioridad 3 else if (Cola2.Count == 0 && Cola3.Count != 0) { for (int i = 0; i < Cola3.Count; i++) { Proceso item = Cola3[i]; item.TE -= 8; if (item.TE > 0) { Cola3.Remove(item); Cola4.Add(item); i--; } else { item.ActualizarEstado(); Cola3.Remove(item); i--; op = true; } MostrarProcesoAcabado(item); mostrarProcesos(); break; } } //Prioridad 4 else if (Cola3.Count == 0 && Cola4.Count != 0) { for (int i = 0; i < Cola4.Count; i++) { Proceso item = Cola4[i]; item.TE -= 16; if (item.TE > 0) { Cola4.Remove(item); Cola5.Add(item); i--; } else { item.ActualizarEstado(); Cola4.Remove(item); i--; op = true; } MostrarProcesoAcabado(item); mostrarProcesos(); break; } } //Prioridad 5 else if (Cola4.Count == 0 && Cola5.Count != 0) { for (int i = 0; i < Cola5.Count; i++) { Proceso item = Cola5[i]; item.TE -= 32; if (item.TE <= 0) { item.ActualizarEstado(); Cola5.Remove(item); i--; op = true; } MostrarProcesoAcabado(item); mostrarProcesos(); break; } } }