Example #1
0
        public ActionResult DeleteRelation(long book_id, string series)
        {
            long        id = db.Series.Where(s => s.series == series).Select(s => s.id).First();
            Book_Series bs = db.Book_Series.Where(s => s.SeriesId == id && s.BookId == book_id).First();

            db.Book_Series.Remove(bs);
            db.TrySaveChanges();
            return(RedirectToAction("Details", "Books", new { id = book_id }));
        }
Example #2
0
        public ActionResult Create(long book_id, [Bind(Include = "id,series")] Series serie)
        {
            if (ModelState.IsValid)
            {
                long            series_id;
                BooksController bc = new BooksController();

                if (bc.IsInDatabase(serie.series, null, 2) == false)
                {
                    db.Series.Add(serie);

                    db.SaveChanges();

                    series_id = serie.id;
                }
                else
                {
                    series_id = db.Series.Where(s => s.series == serie.series).Select(s => s.id).First();
                }

                if (book_id != 0)
                {
                    Book_Series bs = new Book_Series()
                    {
                        BookId   = book_id,
                        SeriesId = series_id
                    };

                    db.Book_Series.Add(bs);

                    db.TrySaveChanges();
                }

                return(RedirectToAction("Details", "Books", new { id = book_id }));
            }

            return(View(serie));
        }
Example #3
0
        public ActionResult Create(CombinedDataModels newBook)
        {
            if (ModelState.IsValid)
            {
                long book_id;
                long author_id;
                long genre_id;
                long series_id;
                //***************************check if title, author, genre and series are in database************************
                if (IsInDatabase(newBook.Books.title, null, 0) == false)
                {
                    Books book;
                    if (newBook.cover == null)
                    {
                        book = new Books()
                        {
                            title       = newBook.Books.title,
                            year        = newBook.Books.year,
                            description = newBook.Books.description,
                            cover       = null
                        }
                    }
                    ;
                    else
                    {
                        book = new Books()
                        {
                            title       = newBook.Books.title,
                            year        = newBook.Books.year,
                            description = newBook.Books.description,
                            cover       = newBook.cover.FileName
                        };

                        newBook.cover.SaveAs(HttpContext.Server.MapPath(ConfigurationManager.AppSettings["bookCovers"]) + book.cover);
                    }

                    db.Books.Add(book);

                    db.TrySaveChanges();

                    book_id = book.id;
                }
                else
                {
                    book_id = db.Books.Where(b => b.title == newBook.Books.title).Select(b => b.id).First();
                }

                if (IsInDatabase(newBook.Authors.firstName, newBook.Authors.lastName, 3) == false)
                {
                    Authors author;
                    if (newBook.photo == null)
                    {
                        author = new Authors()
                        {
                            firstName  = newBook.Authors.firstName,
                            lastName   = newBook.Authors.lastName,
                            birthDate  = newBook.Authors.birthDate,
                            birthPlace = newBook.Authors.birthPlace,
                            BIO        = newBook.Authors.BIO,
                            photo      = null,
                            sex        = newBook.Authors.sex
                        }
                    }
                    ;
                    else
                    {
                        author = new Authors()
                        {
                            firstName  = newBook.Authors.firstName,
                            lastName   = newBook.Authors.lastName,
                            birthDate  = newBook.Authors.birthDate,
                            birthPlace = newBook.Authors.birthPlace,
                            BIO        = newBook.Authors.BIO,
                            photo      = newBook.photo.FileName,
                            sex        = newBook.Authors.sex
                        };

                        newBook.photo.SaveAs(HttpContext.Server.MapPath(ConfigurationManager.AppSettings["authorPhotos"]) + author.photo);
                    }

                    db.Authors.Add(author);

                    db.TrySaveChanges();

                    author_id = author.id;
                }
                else
                {
                    author_id = db.Authors.Where(a => a.firstName == newBook.Authors.firstName && a.lastName == newBook.Authors.lastName).Select(a => a.id).First();
                }

                if (BookIsBounded(book_id, author_id, 0) == false)
                {
                    Book_Authors bk = new Book_Authors()
                    {
                        BookId   = book_id,
                        AuthorId = author_id
                    };

                    db.Book_Authors.Add(bk);
                }


                if (IsInDatabase(newBook.Genres.genre, null, 1) == false)
                {
                    Genres genre = new Genres()
                    {
                        genre = newBook.Genres.genre
                    };

                    db.Genres.Add(genre);

                    db.TrySaveChanges();

                    genre_id = genre.id;
                }
                else
                {
                    genre_id = db.Genres.Where(g => g.genre == newBook.Genres.genre).Select(g => g.id).First();
                }

                if (IsInDatabase(newBook.Series.series, null, 2) == false)
                {
                    Series series = new Series()
                    {
                        series = newBook.Series.series
                    };

                    db.Series.Add(series);

                    db.TrySaveChanges();

                    series_id = series.id;
                }
                else
                {
                    series_id = db.Series.Where(s => s.series == newBook.Series.series).Select(s => s.id).First();
                }

                if (BookIsBounded(book_id, genre_id, 1) == false)
                {
                    Book_Genres bg = new Book_Genres()
                    {
                        BookId  = book_id,
                        GenreId = genre_id
                    };

                    db.Book_Genres.Add(bg);
                }

                if (BookIsBounded(book_id, series_id, 2) == false)
                {
                    Book_Series bs = new Book_Series()
                    {
                        BookId   = book_id,
                        SeriesId = series_id
                    };

                    db.Book_Series.Add(bs);
                }

                db.TrySaveChanges();

                return(RedirectToAction("Index", "Books"));
            }
            return(View(newBook));
        }