protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity <Book>().HasKey(b => b.Id);
            modelBuilder.Entity <Reader>().HasKey(r => r.Id);
            modelBuilder.Entity <IssuedBook>().HasKey(ib => ib.Id);

            modelBuilder.Entity <Reader>().HasMany((r) => r.IssuedBooks).WithOne(ib => ib.Reader)
            .HasForeignKey(ib => ib.IdReader)
            .OnDelete(DeleteBehavior.Cascade);
            modelBuilder.Entity <Book>().HasMany((b) => b.IssuedBooks).WithOne(ib => ib.Book)
            .HasForeignKey(ib => ib.IdBook)
            .OnDelete(DeleteBehavior.Cascade);

            modelBuilder.Query <IssuedBookView>().ToQuery(() =>
                                                          IssuedBooks.Include(ib => ib.Reader).Include(ib => ib.Book)
                                                          .Select(book => new IssuedBookView
            {
                Id               = book.Id,
                IdReader         = book.IdReader,
                IdBook           = book.IdBook,
                ReaderName       = book.Reader.Name,
                ReaderSurname    = book.Reader.Surname,
                ReaderPatronymic = book.Reader.Patronymic,
                BookName         = book.Book.BookName,
                BookAuthorName   = book.Book.AuthorName,
                DateIssue        = book.DateIssue,
                DateReturn       = book.DateReturn,
            })
                                                          );
        }
Beispiel #2
0
        public async Task <IActionResult> Edit(string id, [Bind("IssueDate,ReturnDate,ReturnMark,EmpId,ReadId,BookId")] IssuedBooks issuedBooks)
        {
            if (id != issuedBooks.ReturnMark)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(issuedBooks);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!IssuedBooksExists(issuedBooks.ReturnMark))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BookId"] = new SelectList(_context.Books, "BookId", "Author", issuedBooks.BookId);
            ViewData["EmpId"]  = new SelectList(_context.Employee, "EmpId", "Address", issuedBooks.EmpId);
            ViewData["ReadId"] = new SelectList(_context.Readers, "ReadId", "Address", issuedBooks.ReadId);
            return(View(issuedBooks));
        }
Beispiel #3
0
        public async Task <IActionResult> Create([Bind("IssueDate,ReturnDate,ReturnMark,EmpId,ReadId,BookId")] IssuedBooks issuedBooks)
        {
            if (ModelState.IsValid)
            {
                _context.Add(issuedBooks);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BookId"] = new SelectList(_context.Books, "BookId", "Author", issuedBooks.BookId);
            ViewData["EmpId"]  = new SelectList(_context.Employee, "EmpId", "Address", issuedBooks.EmpId);
            ViewData["ReadId"] = new SelectList(_context.Readers, "ReadId", "Address", issuedBooks.ReadId);
            return(View(issuedBooks));
        }
        public ActionResult Edit(IssuedBookViewModel issuedBookViewModel)
        {
            if (ModelState.IsValid)
            {
                IssuedBooks issuedBooks = db.issuedBook.Find(issuedBookViewModel.issuedId);
                var         fromDate    = issuedBookViewModel.displayFromDate;
                var         toDate      = issuedBookViewModel.displayToDate;
                issuedBooks.fromDate = Convert.ToDateTime(fromDate);
                issuedBooks.toDate   = Convert.ToDateTime(toDate);

                db.Entry(issuedBooks).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(issuedBooks));
        }
        public JsonResult BookIssue(IssuedBooks issuedBooks)
        {
            var Book = db.book.FirstOrDefault(b => b.bookId == issuedBooks.bookId);

            if (issuedBooks != null && Book != null)
            {
                db.issuedBook.Add(issuedBooks);
                db.SaveChanges();
                Book.isAvailable = false;

                db.Entry(Book).State = EntityState.Modified;
                db.SaveChanges();
                return(Json(new { result = "success" }));
            }
            else
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }