Пример #1
0
        public void Update(BOOK bookObj)
        {
            using (var db = new LibDb())
            {
                var b = db.BOOKs.Include(x => x.AUTHORs).ToList().Find(d => d.ISBN ==
                                                                       bookObj.ISBN);
                b.AUTHORs.Clear();

                db.SaveChanges();
            }

            var newAuthors = bookObj.AUTHORs;

            bookObj.AUTHORs = new List <AUTHOR>();

            using (var db = new LibDb())
            {
                db.BOOKs.Attach(bookObj);
                db.Entry(bookObj).State = EntityState.Modified;

                foreach (var author in newAuthors)
                {
                    db.AUTHORs.Attach(author);
                    bookObj.AUTHORs.Add(author);
                }
                db.SaveChanges();
            }
        }
Пример #2
0
 public void Delete(BOOK bookObj)
 {
     using (var db = new LibDb())
     {
         using (DbContextTransaction transaction = db.Database.BeginTransaction())
         {
             db.BOOKs.Attach(bookObj);
             foreach (var au in bookObj.AUTHORs)
             {
                 db.AUTHORs.Attach(au);
             }
             try
             {
                 bookObj.AUTHORs.Clear();
                 db.BOOKs.Remove(bookObj);
                 db.SaveChanges();
                 transaction.Commit();
             }
             catch (Exception ex)
             {
                 transaction.Rollback();
             }
         }
     }
 }
Пример #3
0
 public void Delete(AUTHOR author)
 {
     using (var db = new LibDb())
     {
         using (DbContextTransaction transaction = db.Database.BeginTransaction())
         {
             db.AUTHORs.Attach(author);
             foreach (var bo in author.BOOKs)
             {
                 db.BOOKs.Attach(bo);
             }
             try
             {
                 author.BOOKs.Clear();
                 db.AUTHORs.Remove(author);
                 db.SaveChanges();
                 transaction.Commit();
             }
             catch (Exception ex)
             {
                 transaction.Rollback();
             }
         }
     }
 }
Пример #4
0
        public void Update(AUTHOR authorObj)
        {
            using (var db = new LibDb())
            {
                var b = db.AUTHORs.Include(x => x.BOOKs).ToList().Find(d => d.Aid ==
                                                                       authorObj.Aid);
                b.BOOKs.Clear();

                db.SaveChanges();
            }

            var newBooks = authorObj.BOOKs;

            authorObj.BOOKs = new List <BOOK>();

            using (var db = new LibDb())
            {
                db.AUTHORs.Attach(authorObj);
                db.Entry(authorObj).State = EntityState.Modified;

                foreach (var book in newBooks)
                {
                    db.BOOKs.Attach(book);
                    authorObj.BOOKs.Add(book);
                }

                db.SaveChanges();
            }
        }
Пример #5
0
 public void Update(USER user)
 {
     using (var db = new LibDb())
     {
         db.USERs.Attach(user);
         db.Entry(user).State = EntityState.Modified;
         db.SaveChanges();
     }
 }
Пример #6
0
 public void Delete(USER user)
 {
     using (var db = new LibDb())
     {
         using (DbContextTransaction transaction = db.Database.BeginTransaction())
         {
             db.USERs.Attach(user);
             try
             {
                 db.USERs.Remove(user);
                 db.SaveChanges();
                 transaction.Commit();
             }
             catch (Exception ex)
             {
                 transaction.Rollback();
             }
         }
     }
 }
Пример #7
0
 public void Add(BOOK bookObj)
 {
     using (var db = new LibDb())
     {
         using (DbContextTransaction transaction = db.Database.BeginTransaction())
         {
             try
             {
                 foreach (var au in bookObj.AUTHORs)
                 {
                     db.AUTHORs.Attach(au);
                 }
                 db.BOOKs.Add(bookObj);  // Prepare query
                 db.SaveChanges();       // Run the query
                 transaction.Commit();   //  Permanent the result, writing to disc and closing transaction
             }
             catch (Exception ex)
             {
                 transaction.Rollback();  //Undo all changes if exception is thrown
             }
         }
     }
 }