Пример #1
0
        public async Task <bool> SaveBookDetail(BookModel singleBookModel)
        {
            bool isSuccess = false;

            using (var context = new BookManagementContext())
            {
                var book = new Book()
                {
                    Isbn            = singleBookModel.Isbn,
                    BookId          = singleBookModel.BookId,
                    BookName        = singleBookModel.BookName,
                    BookDescription = singleBookModel.BookName,
                    BookCategoryId  = singleBookModel.BookCategoryId,
                    Price           = singleBookModel.Price,
                    AuthorId        = singleBookModel.AuthorId,
                    PulisherId      = singleBookModel.PulisherId,
                    Quantity        = singleBookModel.Quantity
                };

                context.Book.Add(book);
                context.SaveChanges();
                isSuccess = true;
            }

            return(isSuccess);
        }
Пример #2
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, BookManagementContext context)
        {
            context.Database
            .Migrate();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

            app.UseGraphQL <ISchema>();

            app.UseGraphQLPlayground();
        }
Пример #3
0
        public async Task <BookListModel> GetSingleBookDetail(int id)
        {
            using (var context = new BookManagementContext())
            {
                var book = await context.Book
                           .Where(b => b.BookId == id)
                           .Include(b => b.Author)
                           .Include(b => b.Pulisher)
                           .Include(b => b.BookCategory)
                           .Select(b => new BookListModel()
                {
                    BookId          = b.BookId,
                    Isbn            = b.Isbn,
                    BookName        = b.BookName,
                    BookDescription = b.BookDescription,
                    Price           = b.Price,
                    Quantity        = b.Quantity,
                    AuthorId        = b.Author.Id,
                    PulisherId      = b.Pulisher.Id,
                    BookCategoryId  = b.BookCategory.Id
                }).ToListAsync();

                return(book[0]);
            }
        }
Пример #4
0
        public async Task <IEnumerable <BookListModel> > GetBookList()
        {
            using (var context = new BookManagementContext())
            {
                var bookList = await context.Book
                               .Include(b => b.Author)
                               .Include(b => b.Pulisher)
                               .Include(b => b.BookCategory)
                               .Select(b => new BookListModel()
                {
                    BookId          = b.BookId,
                    Isbn            = b.Isbn,
                    BookName        = b.BookName,
                    BookDescription = b.BookDescription,
                    Price           = b.Price,
                    Quantity        = b.Quantity,
                    AuthorId        = b.Author.Id,
                    PulisherId      = b.Pulisher.Id,
                    BookCategoryId  = b.BookCategory.Id
                })
                               .OrderBy(b => b.BookId)
                               .ToListAsync();

                return(bookList);
            }
        }
Пример #5
0
        public async Task <IEnumerable <CategoryListModel> > GetBookCategoryList()
        {
            using (var context = new BookManagementContext())
            {
                var authors = await context.BookCategory
                              .Select(a => new CategoryListModel()
                {
                    CategoryId   = a.Id,
                    CategoryName = a.Category
                }).ToListAsync();

                return(authors);
            }
        }
Пример #6
0
        public async Task <bool> DeleteBookDetail(int id)
        {
            bool isSuccess = false;

            using (var context = new BookManagementContext())
            {
                var book = context.Book.FirstOrDefault(b => b.BookId == id);

                context.Book.Remove(book);
                context.SaveChanges();
                isSuccess = true;
            }

            return(isSuccess);
        }
        public async Task <IEnumerable <PublisherListModel> > GetPublisherList()
        {
            using (var context = new BookManagementContext())
            {
                var publishers = await context.Publisher
                                 .Select(p => new PublisherListModel()
                {
                    PublisherId    = p.Id,
                    PublisherName  = p.PublisherName,
                    PublisherEmail = p.PublisherName
                }).ToListAsync();

                return(publishers);
            }
        }
Пример #8
0
        public UserModel Login(UserModel userLoginModel)
        {
            using (var context = new BookManagementContext())
            {
                var IsUser = context.Users.FirstOrDefault(u => u.Email == userLoginModel.Email && u.Password == userLoginModel.Password);


                return(new UserModel()
                {
                    Id = IsUser.Id,
                    Username = IsUser.UserName,
                    Email = IsUser.Email
                });
            }
        }
Пример #9
0
        public async Task <IEnumerable <AuthorListModel> > GetAuthorList()
        {
            using (var context = new BookManagementContext())
            {
                var authors = await context.Author
                              .Select(a => new AuthorListModel()
                {
                    AuthorId    = a.Id,
                    AuthorName  = a.AuthorName,
                    AuthorEmail = a.Email
                }).ToListAsync();

                return(authors);
            }
        }
Пример #10
0
        public async Task <IEnumerable <GroupByBookModel> > GetBookByGroup(int authorid, int publisherid)
        {
            using (var context = new BookManagementContext())
            {
                var books = context.Book
                            .Where(b => b.AuthorId == authorid && b.PulisherId == publisherid)
                            .Select(b => new BookModel()
                {
                    Isbn            = b.Isbn,
                    BookId          = b.BookId,
                    BookName        = b.BookName,
                    BookDescription = b.BookDescription,
                    Price           = b.Price,
                    BookCategoryId  = b.BookCategoryId,
                    Quantity        = b.Quantity,
                    AuthorId        = b.AuthorId,
                    PulisherId      = b.PulisherId
                }).ToList();

                var bookscount = await context.Book
                                 .Where(b => b.AuthorId == authorid && b.PulisherId == publisherid)
                                 .GroupBy(b => new { b.PulisherId, b.AuthorId })
                                 .Select(g => new GroupByBookModel()
                {
                    AuthorId      = g.Key.AuthorId,
                    PublisherId   = g.Key.PulisherId,
                    NumberOfBooks = g.Count(),

                    //BookName = g.AsEnumerable().FirstOrDefault(b => b.AuthorId == g.Key.AuthorId && b.PulisherId == g.Key.PulisherId).BookName
                    Books = books
                })
                                 .ToListAsync();



                return(bookscount);
            }
        }
Пример #11
0
        public async Task <bool> UpdateBookDetail(int id, BookModel singleBookModel)
        {
            bool isSuccess = false;

            using (var context = new BookManagementContext())
            {
                var book = context.Book.FirstOrDefault(b => b.BookId == id);

                book.Isbn            = singleBookModel.Isbn;
                book.BookId          = singleBookModel.BookId;
                book.BookName        = singleBookModel.BookName;
                book.BookDescription = singleBookModel.BookDescription;
                book.BookCategoryId  = singleBookModel.BookCategoryId;
                book.Price           = singleBookModel.Price;
                book.AuthorId        = singleBookModel.AuthorId;
                book.PulisherId      = singleBookModel.PulisherId;
                book.Quantity        = singleBookModel.Quantity;

                context.SaveChanges();
                isSuccess = true;
            }

            return(isSuccess);
        }
Пример #12
0
 public UnitOfWork(BookManagementContext _context)
 {
     this.context = _context;
 }
        public async Task <IEnumerable <PublisherAuthorBookModel> > GetPublisherDetails()
        {
            using (var context = new BookManagementContext())
            {
                var publisherauthors = (from publisherauthor in context.PublisherAuthor
                                        join publisher in context.Publisher
                                        on publisherauthor.PublisherId equals publisher.Id
                                        join author in context.Author
                                        on publisherauthor.AuthorId equals author.Id
                                        join books in context.Book
                                        on author.Id equals books.AuthorId
                                        select new
                {
                    PublisherId = publisher.Id,
                    PublisherName = publisher.PublisherName,
                    AuthorId = author.Id,
                    AuthorName = author.AuthorName,
                    Isbn = books.Isbn,
                    BookId = books.BookId,
                    BookName = books.BookName,
                    BookDescription = books.BookDescription,
                    BookQuantity = books.Quantity,
                    BookPrice = books.Price,
                    BookCategoryId = books.BookCategoryId
                })
                                       .ToList();

                return(publisherauthors.GroupBy(publisherGroup => new { publisherGroup.PublisherId, publisherGroup.PublisherName })
                       .OrderBy(publisherGroup => publisherGroup.Key.PublisherId)
                       .Select(publisher => new PublisherAuthorBookModel()
                {
                    Publisher = new PublisherModel()
                    {
                        Id = publisher.Key.PublisherId,
                        PublisherName = publisher.Key.PublisherName
                    },
                    AuthorBook = publisher.GroupBy(authorGroup => new { authorGroup.AuthorId, authorGroup.AuthorName })
                                 .OrderBy(authorGroup => authorGroup.Key.AuthorId)
                                 .Select(author => new AuthorBookModel()
                    {
                        Id = author.Key.AuthorId,
                        AuthorName = author.Key.AuthorName,
                        Books = author.Select(book => new BookModel()
                        {
                            Isbn = book.Isbn,
                            BookId = book.BookId,
                            BookName = book.BookName,
                            BookDescription = book.BookDescription,
                            BookCategoryId = book.BookCategoryId,
                            Quantity = book.BookQuantity,
                            Price = book.BookPrice
                        }).OrderBy(book => book.BookId)
                    })
                }));


                //var authorbooks = (from author in context.Author
                //                   join book in context.Book
                //                   on author.Id equals book.AuthorId
                //                   select new
                //                   {
                //                       AuthorId = author.Id,
                //                       AuthorName = author.AuthorName,
                //                       //Isbn = book.Isbn,
                //                       //BookId =book.BookId,
                //                       //Price = book.Price,
                //                       //Quantity = book.Quantity,
                //                       //CategoryId = book.BookCategoryId
                //                       Book = book
                //                   }).ToList();

                //var publishers = await context.Publisher
                //                        .Select(p => new PublisherAuthorBookModel()
                //                        {
                //                            Publisher = new SinglePublisherModel()
                //                            {
                //                                Id = p.Id,
                //                                PublisherName = p.PublisherName,
                //                                Email = p.Email
                //                            },
                //                            AuthorBook = authorbooks.Select(ab => new AuthorBook()
                //                            {
                //                                Author = new SingleAuthorModel()
                //                                {
                //                                    Id = ab.AuthorId,
                //                                    AuthorName = ab.AuthorName,
                //                                },
                //                                Books = ab.Book
                //                            }).ToList()
                //                        })
                //                        .ToListAsync();
            }
        }
 public AuthorRepository(BookManagementContext _bookManagementContext) : base(_bookManagementContext)
 {
 }
 /// <summary>
 /// Constructor for the TransactionBehavior class.
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="dbContext"></param>
 public BookManagementContextTransactionBehavior(ILogger <BookManagementContextTransactionBehavior <TRequest, TResponse> > logger,
                                                 BookManagementContext dbContext)
     : base(logger, dbContext)
 {
 }
Пример #16
0
 public GenericRepository(BookManagementContext context)
 {
     this._dbContext = context;
     this._dbSet     = this._dbContext.Set <T>();
 }
Пример #17
0
 public BookRepository(BookManagementContext context) : base(context)
 {
     this._dbContext = context;
 }
Пример #18
0
 public CategoryRepository(BookManagementContext _bookManagementContext) : base(_bookManagementContext)
 {
 }
Пример #19
0
 public BookRepository(BookManagementContext context)
 {
     _context = context
                ?? throw new ArgumentNullException(nameof(context));
 }
Пример #20
0
 public UnitOfWork(BookManagementContext context)
 {
     this._dbContext     = context;
     this.BookRepository = new BookRepository(this._dbContext);
 }
Пример #21
0
 public BaseRepository(BookManagementContext _bookManagementContext)
 {
     this.bookManagementContext = _bookManagementContext;
     dbSet = bookManagementContext.Set <T>();
 }