private void ParseIds()
        {
            foreach (DataGridViewRow item in dgvActivos.Rows)
            {
                int activoId = int.Parse(item.Cells["Codigo_Activo"].Value.ToString());
                int deptId   = int.Parse(item.Cells["Id_Dept"].Value.ToString());
                int ubicId   = int.Parse(item.Cells["Id_Ubicacion"].Value.ToString());
                int tipoId   = int.Parse(item.Cells["Id_TipoActivo"].Value.ToString());

                using (ActivosEntities db = new ActivosEntities())
                {
                    Activos_Fijos activo   = db.Activos_Fijos.FirstOrDefault(a => a.Codigo_Activo == activoId);
                    string        deptName = db.Departamento
                                             .FirstOrDefault(d => d.Codigo_Departamento == deptId).Nombre;
                    string ubicacion = db.Ubicacion.FirstOrDefault(u => u.Codigo_Ubicacion == ubicId).Descripcion;
                    string tipo      = db.Tipo_Activo.FirstOrDefault(t => t.Codigo_TipoActivo == tipoId).Descripcion;

                    item.Cells["Departamento"].Value = deptName;
                    item.Cells["Ubicacion"].Value    = ubicacion;
                    item.Cells["Tipo"].Value         = tipo;

                    if (activo.Calculo_Depreciacion.Count > 0)
                    {
                        Calculo_Depreciacion depre = activo.Calculo_Depreciacion.OrderBy(a => a.Fecha_Proceso).Last();

                        item.Cells["Depreciacion"].Value = depre.Depreciacion_Acumulada;
                    }
                    else
                    {
                        item.Cells["Depreciacion"].Value = "0.00";
                    }
                }
            }
        }
        public IHttpActionResult GetActivos_Fijos(int id)
        {
            Activos_Fijos activos_Fijos = db.Activos_Fijos.Find(id);

            if (activos_Fijos == null)
            {
                return(NotFound());
            }

            return(Ok(activos_Fijos));
        }
        public IHttpActionResult PostActivos_Fijos(Activos_Fijos activos_Fijos)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Activos_Fijos.Add(activos_Fijos);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = activos_Fijos.ID }, activos_Fijos));
        }
        public IHttpActionResult DeleteActivos_Fijos(int id)
        {
            Activos_Fijos activos_Fijos = db.Activos_Fijos.Find(id);

            if (activos_Fijos == null)
            {
                return(NotFound());
            }

            db.Activos_Fijos.Remove(activos_Fijos);
            db.SaveChanges();

            return(Ok(activos_Fijos));
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            Activos_Fijos activo = new Activos_Fijos
            {
                Codigo_Activo       = Id,
                Descripcion         = txtDescripcion.Text,
                Codigo_Departamento = db.Departamento
                                      .FirstOrDefault(d => d.Nombre == cbxDept.SelectedValue.ToString()).Codigo_Departamento,
                Codigo_Ubicacion  = db.Ubicacion.FirstOrDefault(u => u.Descripcion == cbxUbicacion.SelectedValue.ToString()).Codigo_Ubicacion,
                Codigo_TipoActivo = db.Tipo_Activo.FirstOrDefault(t => t.Descripcion == cbxTipo.SelectedValue.ToString()).Codigo_TipoActivo,
                Fecha_Registro    = dtpFecha.Value,
                Valor_Compra      = nudValor.Value
            };

            if (Id != 0)
            {
                var activoInDb = db.Activos_Fijos.FirstOrDefault(a => a.Codigo_Activo == activo.Codigo_Activo);

                if (activoInDb != null)
                {
                    db.Entry(activoInDb).State = System.Data.Entity.EntityState.Detached;
                    db.Entry(activo).State     = System.Data.Entity.EntityState.Modified;
                }

                MessageBox.Show("El activo fijo ha sido modificado exitosamente.");
            }
            else
            {
                db.Activos_Fijos.Add(activo);
                MessageBox.Show("El activo fijo ha sido creado exitosamente.");
            }

            db.SaveChanges();

            Close();
        }
        public IHttpActionResult PutActivos_Fijos(int id, Activos_Fijos activos_Fijos)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != activos_Fijos.ID)
            {
                return(BadRequest());
            }

            db.Entry(activos_Fijos).State = EntityState.Modified;

            //var activo = db.Activos_Fijos.FirstOrDefault(x => x.ID == id);

            //activo.Desechado = true;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!Activos_FijosExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }