Example #1
0
        public HttpResponseMessage NewBook([FromBody] AuthBook data)
        {
            try
            {
                using (var DB = new BookContext())
                {
                    //check if duplicate book
                    if (DB.Books.Where(b => b.bname == data.Book_Name).Count() == 0)
                    {
                        Author auth = new Author();
                        Gener  gns  = new Gener();
                        Book   bks  = new Book();
                        auth = repo.chkAuthor(data.Author_Name);
                        gns  = repo.chkGenere(data.Gener_Name);

                        bks.bname      = data.Book_Name;
                        bks.authors_Id = auth.Id;
                        bks.geners_Id  = gns.Id;
                        DB.Books.Add(bks);
                        DB.SaveChanges();
                        List <Book> query = DB.Books.Where(b => b.authors_Id == auth.Id & b.geners_Id == gns.Id & b.bname == bks.bname).ToList();
                        return(this.Request.CreateResponse(HttpStatusCode.OK, query));
                    }
                    else
                    {
                        return(this.Request.CreateResponse(HttpStatusCode.Forbidden, "duplicate book"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(this.Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Example #2
0
 public HttpResponseMessage FindBookById(int id)
 {
     using (BookContext db = new BookContext())
     {
         AuthBook authbook = repo.findBook(id);
         if (authbook != null)
         {
             return(this.Request.CreateResponse(HttpStatusCode.OK, authbook));
         }
         else
         {
             return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "no book found"));
         }
     }
 }
Example #3
0
 public HttpResponseMessage UpdateBookData([FromBody] AuthBook value)
 {
     try
     {
         if (ModelState.IsValid)
         {
             repo.updateBook(value);
             return(this.Request.CreateResponse(HttpStatusCode.OK, "data updated"));
         }
         else
         {
             return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "fill all fields"));
         }
     }
     catch (Exception ex) {
         return(Request.CreateErrorResponse(HttpStatusCode.Forbidden, ex));
     }
 }
Example #4
0
        public void updateBook(AuthBook authBook)
        {
            using (BookContext db = new BookContext())
            {
                Author authr = new Author();
                Book   bk    = new Book();
                Gener  gen   = new Gener();

                //author
                authr      = db.Authors.Find(authBook.Auhtor_id);
                authr.name = authBook.Author_Name;

                //book
                bk       = db.Books.Find(authBook.Book_id);
                bk.bname = authBook.Book_Name;

                //genres
                gen       = db.Geners.Find(authBook.Gener_id);
                gen.gname = authBook.Gener_Name;

                db.SaveChanges();
            }
        }
        public ActionResult Create(Book BookEnt, int[] SelectedAuthors)
        {
            if (SelectedAuthors == null)
            {
                Book BkTblOBJ = new Book();

                BkTblOBJ.Book_title = BookEnt.Book_title;
                BkTblOBJ.Active     = "Y";
                BkTblOBJ.Softdelete = "N";
                EntDb.Books.Add(BkTblOBJ);
                EntDb.SaveChanges();
            }

            else
            {
                Book BkTblOBJ = new Book();

                BkTblOBJ.Book_title = BookEnt.Book_title;
                BkTblOBJ.Active     = "Y";
                BkTblOBJ.Softdelete = "N";
                EntDb.Books.Add(BkTblOBJ);
                EntDb.SaveChanges();

                var saveBook = EntDb.Books.Select(p => p).OrderByDescending(p => p.Book_id).FirstOrDefault();

                AuthBook AuthBk = new AuthBook();

                foreach (int ID in SelectedAuthors)
                {
                    AuthBk.author_id = ID;
                    AuthBk.book_id   = saveBook.Book_id;
                    EntDb.AuthBooks.Add(AuthBk);
                    EntDb.SaveChanges();
                }
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(Book bookEdt, int[] SelectedAuthors)
        {
            if (SelectedAuthors == null)
            {
                Book EdtBk = EntDb.Books.Find(bookEdt.Book_id);

                EdtBk.Book_title = bookEdt.Book_title;
                EdtBk.Active     = "Y";
                EdtBk.Softdelete = "N";
                EntDb.Books.Attach(EdtBk);
                EntDb.Entry(EdtBk).State = System.Data.Entity.EntityState.Modified;
                EntDb.SaveChanges();
            }

            else
            {
                Book EdtBk = EntDb.Books.Find(bookEdt.Book_id);

                EdtBk.Book_title = bookEdt.Book_title;
                EdtBk.Active     = "Y";
                EdtBk.Softdelete = "N";
                EntDb.Books.Attach(EdtBk);
                EntDb.Entry(EdtBk).State = System.Data.Entity.EntityState.Modified;
                EntDb.SaveChanges();

                var Booklst = EntDb.AuthBooks.Where(p => p.book_id == bookEdt.Book_id).ToList();

                var AuthBk = from a in EntDb.AuthBooks
                             where a.book_id == bookEdt.Book_id
                             select a.AuthBookID;

                foreach (int Item in AuthBk.ToList())
                {
                    AuthBook AuthBkrc = EntDb.AuthBooks.Find(Item);
                    EntDb.AuthBooks.Remove(AuthBkrc);
                    EntDb.SaveChanges();
                }

                foreach (var ID in SelectedAuthors)
                {
                    AuthBook AuthorBK = new AuthBook();
                    AuthorBK.author_id          = ID;
                    AuthorBK.book_id            = bookEdt.Book_id;
                    EntDb.Entry(AuthorBK).State = System.Data.Entity.EntityState.Added;
                    EntDb.SaveChanges();
                }
            }
            return(RedirectToAction("Index"));

            //Nested For Each Loop Code
            //var Booklst = EntDb.AuthBooks.Where(p => p.book_id == bookEdt.Book_id).ToList();
            //foreach (var item in Booklst)
            ////   foreach (int ID in SelectedAuthors)
            //{
            //    AuthBook AuthBk = EntDb.AuthBooks.Find(item.AuthBookID);
            //    foreach (int ID in SelectedAuthors)
            //    {
            //        AuthBk.author_id = ID;
            //        break;
            //    }
            //    AuthBk.book_id = bookEdt.Book_id;
            //    EntDb.AuthBooks.Attach(AuthBk);
            //    EntDb.Entry(AuthBk).State = System.Data.Entity.EntityState.Modified;
            //    EntDb.SaveChanges();
            //}
        }