Example #1
0
        private void LendBookButton_Click(object sender, RoutedEventArgs e)
        {
            if (MemberListBox.SelectedIndex > -1)
            {
                if ((DateTime)ReturnDatePicker.SelectedDate < DateTime.Now)
                {
                    MessageBox.Show("Please select a proper return date");
                }
                else
                {
                    var selectedmember = MemberListBox.SelectedItem as Member;

                    LoanBook loanBook = new LoanBook();
                    loanBook.LB_InventoryNumber = _currentbook.InventoryNumber;
                    loanBook.LB_MemberId        = selectedmember.MemberId;
                    loanBook.LoanDate           = DateTime.Now;
                    loanBook.ReturnDate         = (DateTime)ReturnDatePicker.SelectedDate;
                    LoanBookDataProvider.CreateLoanBook(loanBook);
                    LibraryBookDataProvider.LendReturnLibraryBook(_currentbook);

                    DialogResult = true;
                    Close();
                }
            }
            else
            {
                MessageBox.Show("Please select a member");
            }
        }
        public ReturnBookWindow(LibraryBook libraryBook)
        {
            _libraryBook     = libraryBook;
            _currentLoanBook = LoanBookDataProvider.GetLoanBookByInvNum(_libraryBook.InventoryNumber);

            InitializeComponent();
            FillOutFields();
        }
 public static void RemoveLoanBook(LoanBook loanbook)
 {
     using (var client = new HttpClient())
     {
         var response = client.DeleteAsync(_baseurl + "/" + loanbook.LB_InventoryNumber).Result;
         if (!response.IsSuccessStatusCode)
         {
             throw new InvalidOperationException(response.StatusCode.ToString());
         }
     }
 }
        public static void CreateLoanBook(LoanBook loanbook)
        {
            using (var client = new HttpClient())
            {
                var rawData = JsonConvert.SerializeObject(loanbook);
                var content = new StringContent(rawData, Encoding.UTF8, "application/json");

                var response = client.PostAsync(_baseurl, content).Result;
                if (!response.IsSuccessStatusCode)
                {
                    throw new InvalidOperationException(response.StatusCode.ToString());
                }
            }
        }
Example #5
0
        public void LoanOutBook(Loan loan)
        {
            context.Add(loan);
            context.SaveChanges();

            //Get loan id
            context.Entry(loan).GetDatabaseValues();

            //foreach bookcopy add LoanBook
            foreach (var book in loan.BookCopies)
            {
                var loanBookToAdd = new LoanBook();
                loanBookToAdd.BookCopyID = book.ID;
                loanBookToAdd.LoanID     = loan.ID;
                context.Add(loanBookToAdd);
            }
            ;
            //Save changes
            context.SaveChanges();
        }
Example #6
0
 public async Task ReturnBookAsync(LoanBook loanBook)
 {
     loanBook.IsReturned = true;
     loanBook.DateReturn = new DateTime();
     await UpdateAsync(loanBook);
 }
Example #7
0
 public async Task RemoveAsync(LoanBook loanBook)
 {
     loanBook.IsDeleted = true;
     await _loanBookRepository.UpdateAsync(loanBook);
 }
Example #8
0
 public async Task UpdateAsync(LoanBook loanBook)
 {
     await _loanBookRepository.UpdateAsync(loanBook);
 }
Example #9
0
 public async Task AddAsync(LoanBook loanBook)
 {
     await _loanBookRepository.AddAsync(loanBook);
 }
Example #10
0
 public static void AddLoanBook(LoanBook loanbook)
 {
     using var database = new LibraryContext();
     database.LoanBook.Add(loanbook);
     database.SaveChanges();
 }
Example #11
0
        public IActionResult SaveNewLoan(LoanDto loanDto)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new LoanFormViewModel
                {
                    Id           = loanDto.Id,
                    MemberId     = loanDto.MemberId,
                    BookId       = loanDto.BookId,
                    CheckOutDate = loanDto.CheckOutDate,
                    DueDate      = loanDto.DueDate
                };

                return(View("LoanForm", viewModel));
            }

            if (loanDto.Id == 0)
            {
                var loan = new Loan()
                {
                    MemberId     = loanDto.MemberId,
                    CheckOutDate = DateTime.Now,
                    DueDate      = DateTime.Now.AddDays(30)
                };

                _context.Loans.Add(loan);
                _context.SaveChanges();

                var newLoanInDb = _context.Loans
                                  .Where(l => (l.MemberId == loan.MemberId && l.CheckOutDate == loan.CheckOutDate)).Single();

                var loanBook = new LoanBook()
                {
                    LoanId = newLoanInDb.Id,
                    BookId = loanDto.BookId
                };

                _context.LoanBooks.Add(loanBook);
                _context.SaveChanges();

                var viewModel = new LoanFormViewModel(newLoanInDb);

                return(View("LoanForm", viewModel));
            }
            else
            {
                var loanBook = new LoanBook()
                {
                    LoanId = loanDto.Id,
                    BookId = loanDto.BookId
                };

                _context.LoanBooks.Add(loanBook);
                _context.SaveChanges();

                var loanInDb  = _context.Loans.Single(l => l.Id == loanDto.Id);
                var viewModel = new LoanFormViewModel(loanInDb);

                return(View("LoanForm", viewModel));
            }
        }