Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
 public ColaElement Dequeue1(TableLayoutPanel q1)
 {
     if (queue1.Count != 0)
     {
         ColaElement q = queue1.Dequeue();
         ActualizarTabla(q1);
         return(q);
     }
     return(null);
 }
Пример #4
0
        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++;
        }
Пример #5
0
        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++;
            }
        }
Пример #6
0
 public void Enqueue1(TableLayoutPanel q1, ColaElement ce)
 {
     queue1.Enqueue(ce);
     AñadirUltimoATabla1(q1, ce);
 }