Ejemplo n.º 1
0
 public BookController(IBookRepository bookrepository, IWriterRepository writerrepository, IBookWriterRepository bookwriterrepository, ILibraryRepository libraryrepository, IBookLibraryRepository booklibraryrepository, IPublisherRepository publisherrepository, IBookPublisherRepository bookpublisherrepository)
 {
     IBookRepository        = bookrepository;
     IWriterRepository      = writerrepository;
     IBookWriterRepository  = bookwriterrepository;
     ILibraryRepository     = libraryrepository;
     IBookLibraryRepository = booklibraryrepository;
 }
Ejemplo n.º 2
0
        public BookDetailsDTO Get(int id)
        {
            Book           Book   = IBookRepository.Get(id);
            BookDetailsDTO MyBook = new BookDetailsDTO()
            {
                Name            = Book.Name,
                Popularity      = Book.Popularity,
                PublicationYear = Book.PublicationYear
            };
            IEnumerable <BookWriter> MyBookWriters = IBookWriterRepository.GetAll().Where(x => x.BookId == Book.Id);

            if (MyBookWriters != null)
            {
                List <string> BookWriterList = new List <string>();
                foreach (BookWriter MyBookWriter in MyBookWriters)
                {
                    Writer MyWriter = IWriterRepository.GetAll().SingleOrDefault(x => x.Id == MyBookWriter.Id);
                    BookWriterList.Add(MyWriter.Name);
                }
                MyBook.WriterName = BookWriterList;
            }

            IEnumerable <BookLibrary> MyLibraryBooks = IBookLibraryRepository.GetAll().Where(x => x.BookId == Book.Id);

            if (MyLibraryBooks != null)
            {
                List <string> LibraryBookList = new List <string>();
                foreach (BookLibrary MyLibraryBook in MyLibraryBooks)
                {
                    Library MyLibrary = ILibraryRepository.GetAll().SingleOrDefault(x => x.Id == MyLibraryBook.Id);
                    LibraryBookList.Add(MyLibrary.Name);
                }
                MyBook.LibraryName = LibraryBookList;
            }

            IEnumerable <BookPublisher> MyPublisherBooks = IBookPublisherRepository.GetAll().Where(x => x.BookId == Book.Id);

            if (MyPublisherBooks != null)
            {
                List <string> PublisherBookList = new List <string>();
                foreach (BookPublisher MyPublisherBook in MyPublisherBooks)
                {
                    Publisher MyPublisher = IPublisherRepository.GetAll().SingleOrDefault(x => x.Id == MyPublisherBook.Id);
                    PublisherBookList.Add(MyPublisher.Name);
                }
                MyBook.PublisherName = PublisherBookList;
            }
            return(MyBook);
        }
Ejemplo n.º 3
0
        public void Post(BookDTO value)
        {
            Book model = new Book()
            {
                Name            = value.Name,
                Popularity      = value.Popularity,
                PublicationYear = value.PublicationYear
            };

            IBookRepository.Create(model);
            for (int i = 0; i < value.WriterId.Count; i++)
            {
                BookWriter BookWriter = new BookWriter()
                {
                    BookId   = model.Id,
                    WriterId = value.WriterId[i]
                };
                IBookWriterRepository.Create(BookWriter);
            }

            for (int i = 0; i < value.LibraryId.Count; i++)
            {
                BookLibrary BookLibrary = new BookLibrary()
                {
                    BookId    = model.Id,
                    LibraryId = value.LibraryId[i]
                };
                IBookLibraryRepository.Create(BookLibrary);
            }

            for (int i = 0; i < value.PublisherId.Count; i++)
            {
                BookPublisher BookPublisher = new BookPublisher()
                {
                    BookId      = model.Id,
                    PublisherId = value.PublisherId[i]
                };
                IBookPublisherRepository.Create(BookPublisher);
            }
        }
Ejemplo n.º 4
0
        public void Put(int id, BookDTO value)
        {
            Book model = IBookRepository.Get(id);

            if (value.Name != null)
            {
                model.Name = value.Name;
            }
            if (value.Popularity != null)
            {
                model.Popularity = value.Popularity;
            }
            if (value.PublicationYear != 0)
            {
                model.PublicationYear = value.PublicationYear;
            }

            IBookRepository.Update(model);

            if (value.WriterId != null)
            {
                IEnumerable <BookWriter> MyBookWriters = IBookWriterRepository.GetAll().Where(x => x.BookId == id);
                foreach (BookWriter MyBookWriter in MyBookWriters)
                {
                    IBookWriterRepository.Delete(MyBookWriter);
                }
                for (int i = 0; i < value.WriterId.Count; i++)
                {
                    BookWriter BookWriter = new BookWriter()
                    {
                        BookId   = model.Id,
                        WriterId = value.WriterId[i]
                    };
                    IBookWriterRepository.Create(BookWriter);
                }
            }
            if (value.LibraryId != null)
            {
                IEnumerable <BookLibrary> MyLibraryBooks = IBookLibraryRepository.GetAll().Where(x => x.BookId == id);
                foreach (BookLibrary MyLibraryBook in MyLibraryBooks)
                {
                    IBookLibraryRepository.Delete(MyLibraryBook);
                }
                for (int i = 0; i < value.LibraryId.Count; i++)
                {
                    BookLibrary BookLibrary = new BookLibrary()
                    {
                        BookId    = model.Id,
                        LibraryId = value.LibraryId[i]
                    };
                    IBookLibraryRepository.Create(BookLibrary);
                }
            }
            if (value.PublisherId != null)
            {
                IEnumerable <BookPublisher> MyPublisherBooks = IBookPublisherRepository.GetAll().Where(x => x.BookId == id);
                foreach (BookPublisher MyPublisherBook in MyPublisherBooks)
                {
                    IBookPublisherRepository.Delete(MyPublisherBook);
                }
                for (int i = 0; i < value.PublisherId.Count; i++)
                {
                    BookPublisher BookPublisher = new BookPublisher()
                    {
                        BookId      = model.Id,
                        PublisherId = value.PublisherId[i]
                    };
                    IBookPublisherRepository.Create(BookPublisher);
                }
            }
        }
Ejemplo n.º 5
0
 public BookWriterController(IBookWriterRepository repository)
 {
     IBookWriterRepository = repository;
 }