private void timer2_Tick(object sender, EventArgs e) // Este thread se encarga de obtener tareas de las colas e intentar insertarlas en Tabla Areas // Al igual que atender las que están en tablas { AddTime(); colaElement = ctrlqueue.Dequeue1(this.Cola1tbl); if (colaElement == null) { freeQueue = true; } else { ColaElement c = ctrl.AgregarElementoTabAreas(this.TablaA, colaElement.te); if (c.te.GetPrioridad() != 0) { ctrlqueue.Enqueue1(this.Cola1tbl, c); } } Area ar = ctrl.ObtenerTarea(this.TablaA); if (ar != null) { ctrl.AgregarElementoTabPart(this.TablaP, ar);// obtiene tarea y la mete a tabPart ctrl.AgregarAMemoria(this.splitter1, ar.t, ar.dir); } List <TareaEntity> listTE = ctrl.QuitarDeMemoria(this.splitter1);//Actualiza Memoria ctrl.DejarVacioElementoTabPart(TablaP, listTE); //ctrl.ModAreaPart(this.TablaA); }
private void AutomaticoBTN_Click(object sender, EventArgs e) { if (stop == false) { if (tareasTB.Text == "") { tareasTB.Text = "10"; } tareasTB.ReadOnly = true; timer1.Start(); timer2.Start(); button3.Visible = true; AutomaticoBTN.Visible = false; } if (stop == true) { //timeInt++; AddTime(); int numeroUsuarios = Int32.Parse(tareasTB.Text); Random r = new Random(); TareaEntity t = new TareaEntity("T" + i, r.Next(1, 250)); i++; ColaElement c = ctrl.AgregarElementoTabAreas(this.TablaA, t); if (c.te.GetPrioridad() != 0) { freeQueue = false; ctrlqueue.Enqueue1(this.Cola1tbl, c); }//-------------------------------------- AddTime(); colaElement = ctrlqueue.Dequeue1(this.Cola1tbl); if (colaElement == null) { freeQueue = true; } else { ColaElement ce = ctrl.AgregarElementoTabAreas(this.TablaA, colaElement.te); if (ce.te.GetPrioridad() != 0) { ctrlqueue.Enqueue1(this.Cola1tbl, ce); } } Area ar = ctrl.ObtenerTarea(this.TablaA); if (ar != null) { ctrl.AgregarElementoTabPart(this.TablaP, ar);// obtiene tarea y la mete a tabPart ctrl.AgregarAMemoria(this.splitter1, ar.t, ar.dir); } List <TareaEntity> listTareasTerminadas = ctrl.QuitarDeMemoria(this.splitter1);//Actualiza Memoria ctrl.DejarVacioElementoTabPart(TablaP, listTareasTerminadas); ctrl.ModAreaPart(this.TablaA); } }
public ColaElement Dequeue1(TableLayoutPanel q1) { if (queue1.Count != 0) { ColaElement q = queue1.Dequeue(); ActualizarTabla(q1); return(q); } return(null); }
private void AñadirUltimoATabla1(TableLayoutPanel t, ColaElement ce) { Random r = new Random(); Color c = Color.FromArgb(r.Next(256), r.Next(256), r.Next(256)); Label numlb = new Label(); numlb.Text = ce.te.GetNombreTarea(); numlb.Visible = true; numlb.TextAlign = ContentAlignment.MiddleCenter; numlb.BackColor = c; t.Controls.Add(numlb); t.SetCellPosition(numlb, new TableLayoutPanelCellPosition(0, row1)); row1++; }
private void timer1_Tick(object sender, EventArgs e) { if (stop == true) { timer1.Stop();// Detiene el programa timer2.Stop(); button3.Text = "Automático detenido"; AutomaticoBTN.Visible = true; AutomaticoBTN.Text = "Añadir 1 nueva tarea (+1 seg)"; } else { button3.Text = "DETENER"; AutomaticoBTN.Visible = false; int numeroUsuarios = Int32.Parse(tareasTB.Text); Random r = new Random(); TareaEntity t = new TareaEntity("T" + i, r.Next(1, 250)); i++; if (freeQueue == true) { ColaElement c = ctrl.AgregarElementoTabAreas(this.TablaA, t); if (c.te.GetPrioridad() != 0) { freeQueue = false; ctrlqueue.Enqueue1(this.Cola1tbl, c); } } else { ColaElement c = new ColaElement(t); ctrlqueue.Enqueue1(this.Cola1tbl, c); } ctrl.ModAreaPart(this.TablaA); //timeInt++; } }
public void Enqueue1(TableLayoutPanel q1, ColaElement ce) { queue1.Enqueue(ce); AñadirUltimoATabla1(q1, ce); }