示例#1
0
        public static bool Eliminar(int id)
        {
            bool     paso = false;
            Contexto db   = new Contexto();

            try
            {
                var Eliminar = PersonasBLL.Buscar(id);
                db.Entry(Eliminar).State = EntityState.Deleted;
                paso = (db.SaveChanges() > 0);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                db.Dispose();
            }
            return(paso);
        }
        public static bool Modificar(Personas personas)
        {
            bool     paso = false;
            Contexto db   = new Contexto();

            try
            {
                ////buscar las entidades que no estan para removerlas
                var Anterior = PersonasBLL.Buscar(personas.PersonaId);
                foreach (var item in Anterior.Telefonos)
                {
                    if (!personas.Telefonos.Exists(d => d.Id == item.Id))
                    {
                        db.Entry(item).State = EntityState.Deleted;
                    }
                }
                //recorrer el detalle
                foreach (var item in personas.Telefonos)
                {
                    //Muy importante indicar que pasara con la entidad del detalle
                    var estado = item.Id > 0 ? EntityState.Modified : EntityState.Added;
                    db.Entry(item).State = estado;
                }
                ////Idicar que se esta modificando el encabezado
                db.Entry(personas).State = EntityState.Modified;
                paso = (db.SaveChanges() > 0);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                db.Dispose();
            }
            return(paso);
        }