Exemplo n.º 1
0
        public void Insertar(TareaEntity tarea)
        {
            try
            {
                using (SqlConnection conexion = ConexionDA.ObtenerConexion())
                {
                    using (SqlCommand comando = new SqlCommand("TareaInsert", conexion))
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        SqlCommandBuilder.DeriveParameters(comando);

                        comando.Parameters["@UsuarioID"].Value    = tarea.UsuarioId;
                        comando.Parameters["@Nombre"].Value       = tarea.Nombre;
                        comando.Parameters["@Descripcion"].Value  = tarea.Descripcion;
                        comando.Parameters["@HoraComienzo"].Value = tarea.HoraComienzo;
                        comando.Parameters["@HoraFin"].Value      = tarea.HoraFin;
                        comando.Parameters["@Lugar"].Value        = tarea.Lugar;
                        comando.ExecuteNonQuery();
                        tarea.Id = Convert.ToInt32(comando.Parameters["@RETURN_VALUE"].Value);
                    }

                    conexion.Close();
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDA("Se produjo un error al insertar la tarea.", ex);
            }
        }
Exemplo n.º 2
0
        public void Actualizar(TareaEntity tarea)
        {
            try
            {
                using (SqlConnection conexion = ConexionDA.ObtenerConexion())
                {
                    using (SqlCommand comando = new SqlCommand("TareaUpdate", conexion))
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        SqlCommandBuilder.DeriveParameters(comando);

                        comando.Parameters["@ID"].Value           = tarea.Id;
                        comando.Parameters["@Nombre"].Value       = tarea.Nombre;
                        comando.Parameters["@Descripcion"].Value  = tarea.Descripcion;
                        comando.Parameters["@HoraComienzo"].Value = tarea.HoraComienzo;
                        comando.Parameters["@HoraFin"].Value      = tarea.HoraFin;
                        comando.Parameters["@Lugar"].Value        = tarea.Lugar;
                    }

                    conexion.Close();
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDA("Se produjo un error al actualizar la tarea.", ex);
            }
        }
Exemplo n.º 3
0
        public List <TareaEntity> QuitarDeMemoria(Splitter sp1)
        {
            List <TareaEntity> tareasTerminadas = new List <TareaEntity>();

            foreach (Area par in llArea)
            {
                TareaEntity t = par.t;
                if (t.GetTiempo() <= 0)
                {
                    foreach (Control c in sp1.Controls)
                    {
                        if (c.Text == t.GetNombreTarea())
                        {
                            sp1.Controls.Remove(c);
                            tareasTerminadas.Add(t);
                        }
                    }
                }
                else
                {
                    t.SetTiempo(t.GetTiempo() - 1);
                }
            }
            return(tareasTerminadas);
        }
Exemplo n.º 4
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);
            }
        }
Exemplo n.º 5
0
        internal static Tarea Get(TareaEntity entity)
        {
            IMapper mapper;
            Tarea   item;

            mapper = GetMapperEntityToDto();
            item   = mapper.Map <Tarea>(entity);

            return(item);
        }
Exemplo n.º 6
0
 public void BorrarTarea(TareaEntity tarea)
 {
     try
     {
         daTarea.Borrar(tarea);
     }
     catch (ExcepcionBO ex)
     {
         throw new ExcepcionBO("No se pudo borrar la Tarea.", ex);
     }
 }
Exemplo n.º 7
0
 public void ActualizarTarea(TareaEntity tarea)
 {
     try
     {
         daTarea.Actualizar(tarea);
     }
     catch (ExcepcionBO ex)
     {
         throw new ExcepcionBO("No se pudo actualizar la Tarea.", ex);
     }
 }
Exemplo n.º 8
0
        private TareaEntity CrearTarea(SqlDataReader cursor)
        {
            TareaEntity tarea = new TareaEntity();

            tarea.Id           = cursor.GetInt32(cursor.GetOrdinal("ID"));
            tarea.UsuarioId    = cursor.GetInt32(cursor.GetOrdinal("UsuarioID"));
            tarea.Nombre       = cursor.GetString(cursor.GetOrdinal("Nombre"));
            tarea.Descripcion  = cursor.GetString(cursor.GetOrdinal("Descripcion"));
            tarea.HoraComienzo = cursor.GetDateTime(cursor.GetOrdinal("HoraComienzo"));
            tarea.HoraFin      = cursor.GetDateTime(cursor.GetOrdinal("HoraFin"));
            tarea.Lugar        = cursor.GetString(cursor.GetOrdinal("Lugar"));

            return(tarea);
        }
Exemplo n.º 9
0
        public void AgregarAMemoria(Splitter splitter1, TareaEntity t, int dir)
        {
            Random r     = new Random();
            Label  estlb = new Label();
            Color  c     = Color.FromArgb(r.Next(256), r.Next(256), r.Next(256));

            estlb.Text      = t.GetNombreTarea();
            estlb.Visible   = true;
            estlb.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            estlb.BackColor = c;
            splitter1.Controls.Add(estlb);
            t.SetYPos(dir / 4);
            estlb.SetBounds(0, t.GetYPos(), 307, t.GetTamañoTarea() / 4);
        }
Exemplo n.º 10
0
        public static int Add(TareaEntity entity)
        {
            try
            {
                string query;

                query = $@"
                INSERT INTO Tarea 
                (
                    area_id,
                    usuario_id,
                    estatus_de_la_tarea_id,
                    nombre,
                    descripcion,
                    fecha_de_registro,
                    fecha_de_inicio,
                    fecha_de_termino
                ) 
                VALUES 
                (
                    @AreaId,
                    @UsuarioId,
                    1,
                    @Nombre,
                    @Descripcion,
                    NOW(),
                    @FechaDeInicio,
                    @FechaDeTermino
                ); SELECT LAST_INSERT_ID();";
                using (var db = new MySqlConnection(Conexion.CadenaDeConexion))
                {
                    entity.Id = db.Query <int>(query, new
                    {
                        AreaId         = entity.AreaId,
                        UsuarioId      = entity.UsuarioId,
                        Nombre         = entity.Nombre,
                        Descripcion    = entity.Descripcion,
                        FechaDeInicio  = entity.FechaDeInicio,
                        FechaDeTermino = entity.FechaDeTermino
                    }).FirstOrDefault();
                }

                return(entity.Id);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 11
0
        public void AgendarTarea(TareaEntity tarea)
        {
            try
            {
                tarea.ValidarDatos();

                if (daTarea.HayDisponibilidad(tarea.HoraComienzo, tarea.HoraFin))
                {
                    throw new FechaOcupadaExcepcionBO();
                }

                daTarea.Insertar(tarea);
            }
            catch (ExcepcionDA ex)
            {
                throw new ExcepcionBO("No se pudo realizar la registración de la tarea.", ex);
            }
        }
Exemplo n.º 12
0
        public void Borrar(TareaEntity tarea)
        {
            try
            {
                using (SqlConnection conexion = ConexionDA.ObtenerConexion())
                {
                    using (SqlCommand comando = new SqlCommand("TareaDelete", conexion))
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        SqlCommandBuilder.DeriveParameters(comando);

                        comando.Parameters["@ID"].Value = tarea.Id;
                    }

                    conexion.Close();
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDA("Se produjo un error al borrar la tarea.", ex);
            }
        }
Exemplo n.º 13
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++;
            }
        }
Exemplo n.º 14
0
        public static void Update(TareaEntity entity)
        {
            try
            {
                string query;

                query = $@"UPDATE Tarea 
                SET 
                    area_id                = @AreaId,
                    usuario_id             = @UsuarioId,
                    estatus_de_la_tarea_id = @EstatusDeLaTareaId,
                    nombre,                = @Nombre,
                    descripcion,           = @Descripcion,
                    fecha_de_inicio        = @FechaDeInicio,
                    fecha_de_termino       = @FechaDeTermino  
                WHERE id = @Id";
                using (var db = new MySqlConnection(Conexion.CadenaDeConexion))
                {
                    db.Query <int>(query, new
                    {
                        AreaId             = entity.AreaId,
                        UsuarioId          = entity.UsuarioId,
                        EstatusDeLaTareaId = entity.EstatusDeLaTareaId,
                        Nombre             = entity.Nombre,
                        Descripcion        = entity.Descripcion,
                        FechaDeInicio      = entity.FechaDeInicio,
                        FechaDeTermino     = entity.FechaDeTermino,
                        Id = entity.Id
                    });
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 15
0
        }//________________________________________________________________________----------------------------

        public void AgregarElementoTabAreas(TableLayoutPanel t, TareaEntity tarea)
        {
            if (filaLibreAreas.Count != 0 && encontrado == 0)
            {
                // Revisa si hay espacios disponibles si no, inserta uno nuevo
                Area prueba = new Area();
                foreach (int x in filaLibreAreas)
                {
                    prueba = null;
                    for (var node = llArea.First; node != null; node = node.Next)
                    {
                        if (node.Value.num == x)
                        {
                            prueba = node.Value;
                            break;
                        }
                    }

                    if (prueba.tam == tarea.GetTamañoTarea())
                    {
                        llArea.AddAfter(llArea.Find(prueba), new LinkedListNode <Area>(new Area(x, tarea.GetTamañoTarea(), prueba.dir, "A")));
                        llArea.Remove(prueba);
                        ActualizarTabla(t);
                        filaLibreAreas.Remove(x);
                        encontrado = 0;
                        break;
                    }
                    else if (prueba.tam > tarea.GetTamañoTarea())
                    {
                        LinkedListNode <Area> p = llArea.Find(prueba);
                        llArea.AddBefore(p, new LinkedListNode <Area>(new Area(x, tarea.GetTamañoTarea(), prueba.dir, "A")));
                        p.Value.dir = p.Previous.Value.tam + prueba.dir;
                        p.Value.tam = prueba.tam - p.Previous.Value.tam;
                        ActualizarTabla(t);
                        filaLibreAreas.Remove(x);
                        encontrado = 0;
                        filaLibreAreas.Add(x + 1);
                        numArea++;
                        break;
                    }
                    else
                    {
                        encontrado = 1;
                        AgregarElementoTabAreas(t, tarea);
                    }
                }
            }
            else if (llArea.First == null)
            {
                llArea.AddFirst(new Area(numArea, tarea.GetTamañoTarea(), 0, "A"));
                numArea++;
                AñadirUltimoATabla(t);
                DejarVacioElementoTabAreas(t, 0);
            }
            else
            {
                llArea.AddLast(new Area(numArea, tarea.GetTamañoTarea(), llArea.Last.Value.dir + llArea.Last.Value.tam, "A"));
                numArea++;
                AñadirUltimoATabla(t);
            }
            encontrado = 0;
        }
Exemplo n.º 16
0
        }//________________________________________________________________________----------------------------

        public ColaElement AgregarElementoTabAreas(TableLayoutPanel t, TareaEntity tarea)
        {
            //foreach (Particion a in llPart)
            //{
            //    Console.WriteLine(a.num + "|" + a.tam + "|" + a.dir + "|" + a.proceso + "|" + a.estado);
            //}
            //Console.WriteLine("\n----------------------------------\n");
            if (filaLibreAreas.Count != 0 && encontrado == 0)
            {
                // Revisa si hay espacios disponibles si no, inserta uno nuevo
                Area prueba = new Area();
                foreach (int x in filaLibreAreas)
                {
                    prueba = null;
                    for (var node = llArea.First; node != null; node = node.Next)
                    {
                        if (node.Value.num == x)
                        {
                            prueba = node.Value;
                            break;
                        }
                    }
                    if (prueba.tam == tarea.GetTamañoTarea())
                    {
                        llArea.AddAfter(llArea.Find(prueba), new LinkedListNode <Area>(new Area(x, tarea.GetTamañoTarea(), prueba.dir, "A", tarea)));
                        llArea.Remove(prueba);
                        ActualizarTabla(t);
                        filaLibreAreas.Remove(x);
                        encontrado = 0;
                        break;
                    }
                    else if (prueba.tam > tarea.GetTamañoTarea())
                    {
                        LinkedListNode <Area> p = llArea.Find(prueba);
                        llArea.AddBefore(p, new LinkedListNode <Area>(new Area(x, tarea.GetTamañoTarea(), prueba.dir, "A", tarea)));
                        p.Value.dir = p.Previous.Value.tam + prueba.dir;
                        p.Value.tam = prueba.tam - p.Previous.Value.tam;
                        ActualizarTabla(t);
                        filaLibreAreas.Remove(x);
                        encontrado = 0;
                        filaLibreAreas.Add(x + 1);
                        numArea++;
                        break;
                    }
                    else
                    {
                        encontrado = 1;
                        AgregarElementoTabAreas(t, tarea);
                    }
                }
            }
            else if (llArea.First == null)
            {
                llArea.AddFirst(new Area(numArea, tarea.GetTamañoTarea(), 0, "A", tarea));
                numArea++;
                AñadirUltimoATabla(t);
                //DejarVacioElementoTabAreas(t, 0);  PARA PRUEBA UNITARIA
            }
            else
            {
                if (llArea.Last.Value.dir + llArea.Last.Value.tam + tarea.GetTamañoTarea() > espacioDisponible)
                {
                    tarea.SetPrioridad(tarea.GetPrioridad() + 1);
                    return(new ColaElement(tarea));
                }
                llArea.AddLast(new Area(numArea, tarea.GetTamañoTarea(), llArea.Last.Value.dir + llArea.Last.Value.tam, "A", tarea));
                numArea++;
                AñadirUltimoATabla(t);
            }
            encontrado = 0;
            tarea.SetPrioridad(0);// tarea fue añadida a Tabla de Areas Disp.
            return(new ColaElement(tarea));
        }