Esempio n. 1
0
        public void Add(Book newBook)
        {
            var book = Get(newBook.Id);

            if (book == null)
            {
                _context.Add(newBook);
                _context.SaveChanges();
            }
        }
        public void Add(Student student)
        {
            var newStudent = Get(student.Id);

            if (newStudent == null)
            {
                _context.Add(student);
                _context.SaveChanges();
            }
        }
        public string AssignBook(int bookId, int studentId)
        {
            var isValid = ValidateBookAndStudent(bookId, studentId);

            if (!isValid)
            {
                return("Either student or book does not exist!");
            }

            var isBookAlreadyIssued = _context.BookAssignToStudents.Any(a => a.Book.Id == bookId && a.Book.IsIssued == true);

            if (isBookAlreadyIssued)
            {
                return("Book is already issued to the student.");
            }

            var book = _context.Books.First(a => a.Id == bookId);

            book.IsIssued = true;

            _context.Update(book);

            var now = DateTime.Now;

            var student = _context.Students.FirstOrDefault(a => a.Id == studentId);

            var bookAssignToStudent = new BookAssignToStudent
            {
                BookId    = bookId,
                Book      = book,
                StudentId = studentId,
                Student   = student,
                IssueDate = now,
                DueDate   = now.AddDays(7)
            };

            _context.Add(bookAssignToStudent);
            _context.SaveChanges();

            return("Success");
        }