예제 #1
0
        public HomePage()
        {
            InitializeComponent();
            try {
                BookDataAccess bookDataAccess = new BookDataAccess();
                List <Book>    allBooks       = bookDataAccess.GetAllBook().ToList();

                for (int i = 0; i < allBooks.Count; i++)
                {
                    string url       = allBooks[i].BookPhoto;
                    Image  bookImage = new Image {
                        Source        = url,
                        HeightRequest = 200
                    };
                    var tapGestureRecognizer = new TapGestureRecognizer();

                    tapGestureRecognizer.Tapped += (s, e) => {
                        ImageTapped(bookImage.Source.ToString().Replace("Uri: ", ""));
                    };
                    bookImage.GestureRecognizers.Add(tapGestureRecognizer);
                    BooksStacklayout.Children.Add(bookImage);
                }
            }
            catch (Exception ex) {
                Debug.WriteLine(ex.Message);
            }
        }
 private void dataGridViewBooks_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dataGridViewBooks.Columns[e.ColumnIndex].Name == "AddToCart" && e.RowIndex >= 0)
     {
         string             ISBN_Value    = dataGridViewBooks.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         var                book          = BookDataAccess.GetFullBookByISBN(ISBN_Value);
         CartItemAmountForm addToCartForm = new CartItemAmountForm();
         SendCartInfoEvent += addToCartForm.GetInfo;
         SendCartInfoEvent.Invoke(book, true);
         addToCartForm.ShowDialog();
     }
     else if (dataGridViewBooks.Columns[e.ColumnIndex].Name == "Review" && e.RowIndex >= 0)
     {
         string            ISBN_Value        = dataGridViewBooks.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         var               reviews           = ReviewOfBookDataAccess.GetReviews(ISBN_Value);
         ReviewsOfBookForm reviewsOfBookForm = new ReviewsOfBookForm();
         SendReviewsInfoEvent += reviewsOfBookForm.ShowReviews;
         SendReviewsInfoEvent.Invoke(reviews);
         reviewsOfBookForm.ShowDialog();
     }
     else if (dataGridViewBooks.Columns[e.ColumnIndex].Name == "More" && e.RowIndex >= 0)
     {
         string         ISBN_Value     = dataGridViewBooks.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         var            book           = BookDataAccess.GetFullBookByISBN(ISBN_Value);
         BookDetailForm bookDetailForm = new BookDetailForm();
         SendBookInfoEvent += bookDetailForm.ShowBookDetail;
         SendBookInfoEvent.Invoke(book);
         bookDetailForm.ShowDialog();
     }
 }
예제 #3
0
        private void dataGridBorrowedBooks_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            DataGrid   dg   = sender as DataGrid;
            BorrowedBy row  = (BorrowedBy)dg.Items[dg.Items.IndexOf(dg.SelectedItem)];
            Book       book = BookDataAccess.FindBook(row.BookId);

            // calculate fine
            DateTime returnDate = DateTime.Parse(row.ReturnDate);
            var      TotalDays  = (DateTime.Parse(DateTime.Now.ToString("d")) - DateTime.Parse(returnDate.ToString("d"))).TotalDays;

            if (TotalDays > 0)
            {
                fineLbl.Content        = "$ " + (double)TotalDays * (double)book.FinePerDay;
                dateLbl.Content        = TotalDays + " days";
                lblNoDelays.Visibility = Visibility.Hidden;
                fineLbl.Visibility     = Visibility.Visible;
                dateLbl.Visibility     = Visibility.Visible;
            }
            else
            {
                fineLbl.Visibility     = Visibility.Hidden;
                dateLbl.Visibility     = Visibility.Hidden;
                lblNoDelays.Visibility = Visibility.Visible;
            }
        }
예제 #4
0
        public async void ImageTapped(string bookSource)
        {
            BookDataAccess bookDataAccess = new BookDataAccess();

            Model.Book bookName = bookDataAccess.GetBookBySource(bookSource);
            await Navigation.PushAsync(new BookPage(bookName.BookName));
        }
 private void buttonInsert_Click(object sender, EventArgs e)
 {
     try
     {
         SetValues();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         return;
     }
     if (CheckValues())
     {
         try
         {
             if (BookDataAccess.IsBookExisted(_isbn))
             {
                 MessageBox.Show("无法添加,图书已存在");
                 return;
             }
             BookDataAccess.InsertBook(_isbn, _title, _price, _author, _publisher, _genre, _quantity, _publicationDate, _introduction, _is_on_sale, _isAuthorNull, _isPublisherNull, _isPublicationDateNull, _isIntroductionNull);
             MessageBox.Show("添加成功");
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
             return;
         }
     }
     else
     {
         MessageBox.Show("输入内容不符合规范");
     }
 }
예제 #6
0
        public SearchBooks()
        {
            InitializeComponent();
            selectedMember = SearchMembers.selectedMember;
            if (selectedMember == null)
            {
                memberDetailPane.IsEnabled = false;
                btnIssue.IsEnabled         = false;
            }
            else
            {
                btnSelectMember.Visibility = Visibility.Hidden;
                lblName.Content            = selectedMember.FullName;
                lblAddress.Content         = selectedMember.address;
                lblEmail.Content           = selectedMember.email;
                lblPhone.Content           = selectedMember.phone;
            }
            searchTxtBox.Foreground         = Brushes.Gray;
            searchTxtBox.Text               = "Search Books, Journals, Magazines";
            searchTxtBox.GotKeyboardFocus  += new KeyboardFocusChangedEventHandler(OnTextBoxFocused);
            searchTxtBox.LostKeyboardFocus += new KeyboardFocusChangedEventHandler(OnTextBoxFocusLost);
            this.booksBox.ItemsSource       = bookData;

            // set counts
            lblBooks.Content     = "Books Available - " + BookDataAccess.CountPublications(1);
            lblMagazines.Content = "Magazines Available - " + BookDataAccess.CountPublications(2);
            lblJournals.Content  = "Journals Available - " + BookDataAccess.CountPublications(3);

            LoadAllBooks(SelectedRadioValue <int>(0, rdBooks, rdJournals, rdMagazines));
        }
예제 #7
0
        private void dataGridViewWaitingForReviewOrders_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridViewWaitingForReviewOrders.Columns[e.ColumnIndex].Name == "Review" && e.RowIndex >= 0)
            {
                string OrderId_Value       = dataGridViewWaitingForReviewOrders.Rows[e.RowIndex].Cells["OrderId5"].Value.ToString();
                OrderOfCustomerModel order = _waitingForReviewOrders.FindLast(o => o.Id.ToString().Equals(OrderId_Value));
                string ISBN_Value          = order.Book_ISBN;
                bool   is_reviewed         = ReviewDataAccess.IsReviewed(CustomerInfo.customer.Id, ISBN_Value);
                if (!BookDataAccess.IsBookExisted(ISBN_Value))
                {
                    MessageBox.Show("图书不存在");
                    return;
                }
                if (is_reviewed)
                {
                    DialogResult result = MessageBox.Show("您已对该书做出评价,是否更新评论内容?", "消息", MessageBoxButtons.OKCancel);
                    if (result == DialogResult.Cancel)
                    {
                        CustomerOrderDataAccess.FinishOrder(OrderId_Value);
                        ShowAll();
                        return;
                    }
                }
                var             book            = BookDataAccess.GetFullBookByISBN(ISBN_Value);
                WriteReviewForm writeReviewForm = new WriteReviewForm();
                SendBookInfoEvent += writeReviewForm.ShowDetail;
                SendBookInfoEvent.Invoke(OrderId_Value, book, is_reviewed);
                writeReviewForm.ShowDialog();

                ShowAll();
            }
        }
예제 #8
0
        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            Book book = new Book
            {
                BookName        = txtBookName.Text,
                AuthorName      = txtAuthorName.Text,
                Category        = (Category)categoriesCmb.SelectedItem,
                FinePerDay      = Decimal.Parse(txtFine.Text),
                NoOfCopies      = Int32.Parse(txtCopies.Text),
                price           = Decimal.Parse(txtBookPrice.Text),
                PublishedDate   = new DateTime(Int32.Parse(pubYearCmb.SelectedValue.ToString()), DateTime.Today.Month, DateTime.Today.Day, 0, 0, 0),
                PublisherName   = txtPublisherName.Text,
                PurchasedBillNo = txtBillNo.Text,
                PurchasedDate   = purchasedDatePicker.SelectedDate,
            };
            string resourcesPath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Environment.CurrentDirectory)
                                                          + "\\Resources\\BookImages");

            if (!Directory.Exists(resourcesPath))
            {
                Directory.CreateDirectory(resourcesPath);
            }
            book.BookImage = book.BookName + book.AuthorName + fileExtension;
            SaveImageToFile(imageSource as BitmapImage, 533, 800, 5, System.IO.Path.Combine(resourcesPath, book.BookName + book.AuthorName + fileExtension));
            //File.Copy(filename, System.IO.Path.Combine(resourcesPath, book.BookName + book.AuthorName + fileExtension));
            BookDataAccess.Insert(book);
        }
예제 #9
0
 private void buttonUpdate_Click(object sender, EventArgs e)
 {
     try
     {
         SetValues();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         return;
     }
     if (CheckValues())
     {
         try
         {
             BookDataAccess.UpdateBook(_isbn, _title, _price, _author, _publisher, _genre, _quantity, _publicationDate, _introduction, _is_on_sale, _isAuthorNull, _isPublisherNull, _isPublicationDateNull, _isIntroductionNull);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
             return;
         }
         MessageBox.Show("修改成功");
     }
     else
     {
         MessageBox.Show("修改内容不符合规范");
     }
 }
예제 #10
0
        private void WantReadButtonClicked(object sender, EventArgs e)
        {
            Button          button         = (Button)sender;
            BookDataAccess  bookDataAccess = new BookDataAccess();
            Book            bookClass      = bookDataAccess.GetBookBySource(Bookphoto.Source.ToString().Replace("Uri: ", ""));
            List <UserBook> userBooks      = UserBookDataAccess.GetBookByEmailAndBookName(App.UserEmail, bookClass.BookName);

            if (userBooks.Count != 0)
            {
                if (userBooks[0].ReadWant == ReadWantEnum.Want)
                {
                    if (button.Text == "Read")
                    {
                        userBooks[0].ReadWant = ReadWantEnum.Read;
                        userBooks[0].DateTime = DateTime.Now;
                        UserBookDataAccess.BookUserUpdateReadOrWant(userBooks[0]);
                        DisplayAlert("Read Book", "You added this book to Read List", "Ok");
                    }
                    else
                    {
                        DisplayAlert("Warning", "You already add this book in your Want List", "Ok");
                    }
                }
                else
                {
                    if (button.Text == "Want")
                    {
                        userBooks[0].ReadWant = ReadWantEnum.Want;
                        userBooks[0].DateTime = DateTime.Now;
                        UserBookDataAccess.BookUserUpdateReadOrWant(userBooks[0]);
                        DisplayAlert("Want Book", "You added this book to Want List", "Ok");
                    }
                    else
                    {
                        DisplayAlert("Warning", "You already add this book in your Read List", "Ok");
                    }
                }
            }
            else
            {
                UserBook userBook = new UserBook {
                    BookName = Bookname.Text,
                    Email    = App.UserEmail,
                    DateTime = DateTime.Now
                };
                if (button.Text == "Want")
                {
                    DisplayAlert("Want Book", "You added this book to Want List", "Ok");
                    userBook.ReadWant = ReadWantEnum.Want;
                }
                else
                {
                    DisplayAlert("Read Book", "You added this book to Read List", "Ok");
                    userBook.ReadWant = ReadWantEnum.Read;
                }
                UserBookDataAccess.UserInsert(userBook);
            }
        }
예제 #11
0
 private void dataGridViewMyCart_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dataGridViewMyCart.Columns[e.ColumnIndex].Name == "Detail" && e.RowIndex >= 0)
     {
         string ISBN_Value = dataGridViewMyCart.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         if (!BookDataAccess.IsBookExisted(ISBN_Value))
         {
             MessageBox.Show("错误:图书不存在");
             return;
         }
         var            book           = BookDataAccess.GetFullBookByISBN(ISBN_Value);
         BookDetailForm bookDetailForm = new BookDetailForm();
         SendBookInfoEvent += bookDetailForm.ShowBookDetail;
         SendBookInfoEvent.Invoke(book);
         bookDetailForm.ShowDialog();
     }
     else if (dataGridViewMyCart.Columns[e.ColumnIndex].Name == "Edit" && e.RowIndex >= 0)
     {
         string ISBN_Value = dataGridViewMyCart.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         if (!BookDataAccess.IsBookExisted(ISBN_Value))
         {
             MessageBox.Show("错误:图书不存在");
             return;
         }
         var book = BookDataAccess.GetFullBookByISBN(ISBN_Value);
         CartItemAmountForm cartItemAmountForm = new CartItemAmountForm();
         SendCartInfoEvent += cartItemAmountForm.GetInfo;
         SendCartInfoEvent.Invoke(book, false);
         cartItemAmountForm.ShowDialog();
         ShowAllCartData();
     }
     else if (dataGridViewMyCart.Columns[e.ColumnIndex].Name == "CheckOut" && e.RowIndex >= 0)
     {
         string          ISBN_Value      = dataGridViewMyCart.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         var             book            = BookDataAccess.GetFullBookByISBN(ISBN_Value);
         int             amount          = CartDataAccess.SelectAmount(CustomerInfo.customer.Id, ISBN_Value);
         SubmitOrderForm submitOrderForm = new SubmitOrderForm();
         SendOrderInfoEvent += submitOrderForm.GetOrderInfo;
         SendOrderInfoEvent.Invoke(book, amount);
         submitOrderForm.ShowDialog();
         ShowAllCartData();
     }
     else if (dataGridViewMyCart.Columns[e.ColumnIndex].Name == "Delete" && e.RowIndex >= 0)
     {
         string ISBN_Value = dataGridViewMyCart.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         try
         {
             CartDataAccess.DeleteCartItem(CustomerInfo.customer.Id, ISBN_Value);
             MessageBox.Show("删除成功");
         }
         catch (Exception ex)
         {
             MessageBox.Show("删除失败\r\n" + ex.Message);
         }
         ShowAllCartData();
     }
 }
 private void dataGridViewBooks_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dataGridViewBooks.Columns[e.ColumnIndex].Name == "Detail" && e.RowIndex >= 0)
     {
         string         ISBN_Value = dataGridViewBooks.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         var            book       = BookDataAccess.GetFullBookByISBN(ISBN_Value);
         BookDetailForm detailForm = new BookDetailForm();
         SendBookInfoEvent += detailForm.ShowDetail;
         SendBookInfoEvent.Invoke(book);
         detailForm.ShowDialog();
     }
     else if (dataGridViewBooks.Columns[e.ColumnIndex].Name == "Edit" && e.RowIndex >= 0)
     {
         string         ISBN_Value   = dataGridViewBooks.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         var            book         = BookDataAccess.GetFullBookByISBN(ISBN_Value);
         BookEditorForm editBookForm = new BookEditorForm();
         SendBookInfoEvent += editBookForm.GetValues;
         SendBookInfoEvent.Invoke(book);
         editBookForm.ShowDialog();
         ShowAllBasicBookData();
     }
     else if (dataGridViewBooks.Columns[e.ColumnIndex].Name == "Delete" && e.RowIndex >= 0)
     {
         if (MessageBox.Show("删除图书后可能会导致部分订单、购物车和评论数据失效\n确定删除图书?", "警告", MessageBoxButtons.OKCancel) == DialogResult.OK)
         {
             string ISBN_Value = dataGridViewBooks.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
             try
             {
                 BookDataAccess.DeleteBook(ISBN_Value);
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message);
             }
             ShowAllBasicBookData();
         }
     }
     else if (dataGridViewBooks.Columns[e.ColumnIndex].Name == "Review" && e.RowIndex >= 0)
     {
         string            ISBN_Value        = dataGridViewBooks.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         var               reviews           = ReviewOfBookDataAccess.GetReviews(ISBN_Value);
         ReviewsOfBookForm reviewsOfBookForm = new ReviewsOfBookForm();
         SendReviewsInfoEvent += reviewsOfBookForm.ShowReviews;
         SendReviewsInfoEvent.Invoke(reviews);
         reviewsOfBookForm.ShowDialog();
     }
     else if (dataGridViewBooks.Columns[e.ColumnIndex].Name == "Order" && e.RowIndex >= 0)
     {
         string           ISBN_Value        = dataGridViewBooks.Rows[e.RowIndex].Cells["ISBN"].Value.ToString();
         var              orders            = OrderOfBookDataAccess.GetOrders(ISBN_Value);
         OrdersOfBookForm reviewsOfBookForm = new OrdersOfBookForm();
         SendOrdersInfoEvent += reviewsOfBookForm.ShowOrders;
         SendOrdersInfoEvent.Invoke(orders);
         reviewsOfBookForm.ShowDialog();
     }
 }
예제 #13
0
        public CategoryPage(string categoryName)
        {
            InitializeComponent();

            ((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.White;

            NavigationPage.SetTitleView(this, new Label {
                Text = categoryName, FontSize = 24
            });

            categoryGrid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(1, GridUnitType.Star)
            });
            categoryGrid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(1, GridUnitType.Star)
            });
            categoryGrid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(1, GridUnitType.Star)
            });
            categoryGrid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(1, GridUnitType.Star)
            });

            BookDataAccess bookDataAccess = new BookDataAccess();
            List <Book>    bookClass      = bookDataAccess.GetAllBookByCategory((CategoryEnum)Enum.Parse(typeof(CategoryEnum), categoryName.Replace(" ", "")));

            int column = 0;
            int row    = 0;

            for (int a = 0; a < bookClass.Count; a++)
            {
                categoryGrid.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(1, GridUnitType.Star)
                });
                Image bookImage = new Image {
                    HeightRequest = 300, Source = bookClass[a].BookPhoto
                };
                var tapGestureRecognizer = new TapGestureRecognizer();
                tapGestureRecognizer.Tapped += (s, e) => {
                    ImageTapped(bookImage.Source.ToString().Replace("Uri: ", ""));
                };
                bookImage.GestureRecognizers.Add(tapGestureRecognizer);
                if (column == 0)
                {
                    categoryGrid.Children.Add(bookImage, column, row);
                    column = 1;
                }
                else
                {
                    categoryGrid.Children.Add(bookImage, column, row);
                    column = 0;
                    row++;
                }
            }
        }
예제 #14
0
        static void Main(string[] args)
        {
            Console.WriteLine("1.Выведите список должников.");
            using (var readerDataAccess = new ReaderDataAccess())
            {
                var debtors = (List <Reader>)readerDataAccess.Select();
                foreach (var debtor in debtors)
                {
                    Console.WriteLine($"\t{debtor.Id}. {debtor.FullName}");
                }
            }



            Console.WriteLine("\n2.Выведите список авторов книги №3 (по порядку из таблицы ‘Book’).");
            using (var authorDataAccess = new AuthorDataAccess())
            {
                var authors = (List <Author>)authorDataAccess.Select();
                foreach (var author in authors)
                {
                    Console.WriteLine($"\t{author.Id}. {author.FullName}");
                }
            }



            Console.WriteLine("\n3.Выведите список книг, которые доступны в данный момент.");
            using (var bookDataAccess = new BookDataAccess())
            {
                var books = (List <Book>)bookDataAccess.SelectFreeBooks();
                foreach (var book in books)
                {
                    Console.WriteLine($"\t{book.Id}. {book.Name}");
                }
            }



            Console.WriteLine("\n4.Вывести список книг, которые на руках у пользователя №2.");
            using (var bookDataAccess = new BookDataAccess())
            {
                var books = (List <Book>)bookDataAccess.Select();
                foreach (var book in books)
                {
                    Console.WriteLine($"\t{book.Id}. {book.Name}");
                }
            }

            //5) Обнулите задолженности всех должников.

            /*using (var readerDataAccess = new ReaderDataAccess())
             * {
             *  readerDataAccess.DeleteDebts();
             * }*/
        }
예제 #15
0
 private void LoadAllBooks(int category)
 {
     books = BookDataAccess.ListBooksByCategory(category);
     foreach (Book b in books)
     {
         bookData.Add(new BookData {
             Title = b.BookName, ImageData = LoadImage(b.BookImage)
         });
         Console.WriteLine(b.BookName);
     }
 }
예제 #16
0
 private void dataGridViewReviews_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dataGridViewReviews.Columns[e.ColumnIndex].Name == "Detail" && e.RowIndex >= 0)
     {
         string         ISBN_Value = dataGridViewReviews.Rows[e.RowIndex].Cells["BookISBN"].Value.ToString();
         var            book       = BookDataAccess.GetFullBookByISBN(ISBN_Value);
         BookDetailForm detailForm = new BookDetailForm();
         SendBookInfoEvent += detailForm.ShowDetail;
         SendBookInfoEvent.Invoke(book);
         detailForm.ShowDialog();
     }
 }
        public List <Book> GetBooks()
        {
            BookDataAccess bookDA = new BookDataAccess();
            var            books  = bookDA.GetBooks();

            foreach (var book in books)
            {
                book.Price = book.Price - book.Price * .1;
            }

            return(books);
        }
        private void buttonFuzzySearch_Click(object sender, EventArgs e)
        {
            if (textBoxSearch.Text.Equals(""))
            {
                MessageBox.Show("检索关键词为空");
                return;
            }
            try
            {
                switch (comboBoxOption.SelectedIndex)
                {
                case 0:
                    ShowBasicBookData(BookDataAccess.SelectBookByVagueISBN(textBoxSearch.Text));
                    break;

                case 1:
                    ShowBasicBookData(BookDataAccess.SelectBookByVagueTitle(textBoxSearch.Text));
                    break;

                case 2:
                    ShowBasicBookData(BookDataAccess.SelectBookByVagueAuthor(textBoxSearch.Text));
                    break;

                case 3:
                    ShowBasicBookData(BookDataAccess.SelectBookByVaguePublisher(textBoxSearch.Text));
                    break;

                case 4:
                    ShowBasicBookData(BookDataAccess.SelectBookByGenreClc(textBoxSearch.Text));
                    break;

                case 5:
                    ShowBasicBookData(BookDataAccess.SelectBookByPublicationYear(textBoxSearch.Text));
                    break;

                case 6:
                    ShowBasicBookData(BookDataAccess.SelectBookByQuantity(textBoxSearch.Text));
                    break;

                case 7:
                    ShowBasicBookData(BookDataAccess.SelectBookByPrice(textBoxSearch.Text));
                    break;

                case 8:
                    ShowBasicBookData(BookDataAccess.SelectBookByIsOnSale(textBoxSearch.Text));
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #19
0
        static void Main(string[] args)
        {
            var userDataAccess   = new UserDataAccess();
            var bookDataAccess   = new BookDataAccess();
            var authorDataAccess = new AuthorDataAccess();

            var debtorUsers = userDataAccess.SelectDebtorUsers();
            var books       = bookDataAccess.SelectAll();
            var authors     = authorDataAccess.SelectAll();

            var bookNumberThree = bookDataAccess.SelectById(3);
            var userNumberTwo   = userDataAccess.SelectById(2);

            foreach (var user in debtorUsers)
            {
                Console.WriteLine(user.ToString());
            }

            foreach (var authorId in bookNumberThree.Authors)
            {
                foreach (var author in authors)
                {
                    if (authorId == author.Id)
                    {
                        Console.WriteLine(author.ToString());
                        break;
                    }
                }
            }

            foreach (var book in books)
            {
                if (book.Status)
                {
                    Console.WriteLine(book.ToString());
                }
            }

            foreach (var bookId in userNumberTwo.Books)
            {
                foreach (var book in books)
                {
                    if (bookId == book.Id)
                    {
                        Console.WriteLine(book.ToString());
                        break;
                    }
                }
            }

            userDataAccess.UpdateDebtorUsers();
        }
예제 #20
0
        static void Main(string[] args)
        {
            InitConfiguration();

            var userDataAccess = new UserDataAccess();
            var firstData      = userDataAccess.SelectDebtors();

            foreach (var value in firstData)
            {
                if (value.IsRegistered == true)
                {
                    Console.WriteLine($"Должник: {value.FirstName} {value.LastName}");
                }
            }

            int authorId         = 3;
            var authorDataAccess = new AuthorDataAccess();
            var secondData       = authorDataAccess.SelectAuthorsByBook(authorId);

            Console.WriteLine("Автор(-ы): ");

            foreach (var value in secondData)
            {
                Console.WriteLine($"{value.FirstName} {value.LastName}");
            }

            var bookDataAccess = new BookDataAccess();
            var thirdData      = bookDataAccess.SelectAvailableBooks();

            Console.WriteLine($"Доступные книги: ");

            foreach (var value in thirdData)
            {
                Console.WriteLine($"{value.Name}");
            }

            int userId    = 2;
            var forthData = bookDataAccess.SelectBooksByUser(userId);

            Console.WriteLine($"У пользователя с Id {userId} книга(-и) ");

            foreach (var value in forthData)
            {
                Console.WriteLine($"{value.Name}");
            }

            //userDataAccess.DeleteAllDebtors();
        }
 private void buttonSearch_Click(object sender, EventArgs e)
 {
     if (textBoxSearch.Text.Equals(""))
     {
         MessageBox.Show("检索关键词为空");
         return;
     }
     try
     {
         ShowBookData(BookDataAccess.SelectBookInCustomer(textBoxSearch.Text));
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #22
0
        private void Searching(string text)
        {
            List <string> bookNames      = bookDataAccess.GetAllBooksName();
            List <string> suggestionList = bookNames.Where(book => book.ToLower().Contains(text.ToLower())).ToList();

            List <Book> suggestedBooks = new List <Book>();

            if (suggestionList.Count == 0 && searchImages.Count == 0)
            {
                searchImages.Clear();
                search.IsVisible = true;
                return;
            }

            foreach (string suggestion in suggestionList)
            {
                Book book = bookDataAccess.GetBookByName(suggestion);
                suggestedBooks.Add(book);
            }

            search.IsVisible = false;
            foreach (Book suggestedBook in suggestedBooks)
            {
                if (searchImages.Contains(suggestedBook.BookName))
                {
                    continue;
                }
                else
                {
                    searchImages.Add(suggestedBook.BookName);
                }

                var tapGestureRecognizer = new TapGestureRecognizer();
                tapGestureRecognizer.Tapped += async(sender, e) => {
                    Image          image1         = (Image)sender;
                    BookDataAccess bookDataAccess = new BookDataAccess();
                    Book           bookName       = bookDataAccess.GetBookBySource(image1.Source.ToString().Replace("Uri: ", ""));
                    await Navigation.PushAsync(new BookPage(bookName.BookName));
                };
                Image image = new Image {
                    HeightRequest = 300,
                    Source        = suggestedBook.BookPhoto
                };
                image.GestureRecognizers.Add(tapGestureRecognizer);
                StackL.Children.Add(image);
            }
        }
예제 #23
0
 private void dataGridViewPendingPaymentOrders_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dataGridViewPendingPaymentOrders.Columns[e.ColumnIndex].Name == "Pay" && e.RowIndex >= 0)
     {
         string OrderId_Value       = dataGridViewPendingPaymentOrders.Rows[e.RowIndex].Cells["OrderId2"].Value.ToString();
         OrderOfCustomerModel order = _pendingPaymentOrders.FindLast(o => o.Id.ToString().Equals(OrderId_Value));
         if (order == null)
         {
             MessageBox.Show("错误:找不到订单");
             return;
         }
         if (!BookDataAccess.IsBookExisted(order.Book_ISBN))
         {
             MessageBox.Show("错误:图书不存在");
             return;
         }
         try
         {
             CustomerDataAccess.DeductBalance(CustomerInfo.customer.Id, order.Total_Price);
             CustomerOrderDataAccess.PayOrder(order.Id.ToString());
             MessageBox.Show("付款成功");
             ShowAll();
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
             return;
         }
     }
     else if (dataGridViewPendingPaymentOrders.Columns[e.ColumnIndex].Name == "Cancel1" && e.RowIndex >= 0)
     {
         string OrderId_Value = dataGridViewPendingPaymentOrders.Rows[e.RowIndex].Cells["OrderId2"].Value.ToString();
         try
         {
             CustomerOrderDataAccess.CancelOrder(OrderId_Value);
             MessageBox.Show("取消成功");
         }
         catch (Exception ex)
         {
             MessageBox.Show("取消失败\r\n" + ex.Message);
         }
         ShowAll();
     }
 }
예제 #24
0
        public void GetAllBooksToProfilePage(Grid grid, ReadWantEnum readWant)
        {
            //Console.WriteLine("UpdateBook: " + wantGrid.RowDefinitions.Count + " " + readGrid.RowDefinitions.Count);
            UserBookDataAccess userBookDataAccess = new UserBookDataAccess();
            BookDataAccess     bookDataAccess     = new BookDataAccess();
            List <String>      bookList           = userBookDataAccess.GetUserReadorWantBook(App.UserEmail, readWant);

            int column = 0;
            int row    = 0;

            for (int a = 0; a < bookList.Count; a++)
            {
                Book  bookClass = bookDataAccess.GetBookByName(bookList[a]);
                Image bookImage = new Image {
                    HeightRequest = 300, Source = bookClass.BookPhoto
                };
                var tapGestureRecognizer = new TapGestureRecognizer();
                tapGestureRecognizer.Tapped += (s, e) => {
                    ImageTapped(bookImage.Source.ToString().Replace("Uri: ", ""));
                };
                bookImage.GestureRecognizers.Add(tapGestureRecognizer);
                if (column == 0)
                {
                    if (row != 0)
                    {
                        Console.WriteLine("Added Line " + grid.ToString());
                        grid.RowDefinitions.Add(new RowDefinition {
                            Height = new GridLength(1, GridUnitType.Star)
                        });
                    }
                    grid.Children.Add(bookImage, column, row);
                    column = 1;
                }
                else
                {
                    grid.Children.Add(bookImage, column, row);
                    column = 0;
                    row++;
                }
            }
        }
 private void ShowAllBasicBookData()
 {
     try
     {
         dataGridViewBooks.Rows.Clear();
         var basicBooks = BookDataAccess.GetAllBasicBooks();
         foreach (var basicBook in basicBooks)
         {
             int             rowId = dataGridViewBooks.Rows.Add();
             DataGridViewRow row   = dataGridViewBooks.Rows[rowId];
             row.Cells["ISBN"].Value     = basicBook.ISBN;
             row.Cells["Title"].Value    = basicBook.Title;
             row.Cells["Quantity"].Value = basicBook.Quantity;
             row.Cells["IsOnSale"].Value = basicBook.Is_On_Sale ? "是" : "否";
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #26
0
 private void OnTextChanged(object sender, RoutedEventArgs e)
 {
     if (bookData.Count > 0)
     {
         for (int i = bookData.Count - 1; i >= 0; i--)
         {
             bookData.RemoveAt(i);
         }
     }
     if (searchTxtBox.Text.Length > 0)
     {
         List <Book> books = BookDataAccess.SearchBooks(searchTxtBox.Text, SelectedRadioValue <int>(0, rdBooks, rdJournals, rdMagazines));
         foreach (Book b in books)
         {
             bookData.Add(new BookData {
                 Title = b.BookName, ImageData = LoadImage(b.BookImage)
             });
             Console.WriteLine(b.BookName);
         }
     }
 }
예제 #27
0
 private void iconButtonSupply_Click(object sender, EventArgs e)
 {
     if (textBoxISBN.Text.Length == 0)
     {
         MessageBox.Show("ISBN不能为空");
         return;
     }
     if (BookDataAccess.IsBookExisted(textBoxISBN.Text))
     {
         SupplierOrderDataAccess.InsertSupplierOrderOfExistentBook(SupplierInfo.supplier.Id, DateTime.Now, (int)numericUpDownAmount.Value, textBoxISBN.Text);
         MessageBox.Show("发货成功");
     }
     else
     {
         MessageBox.Show("您供应的图书ISBN在书库中未被检索到,\r\n您需要录入关于新书的信息");
         NewBookForm newBookForm = new NewBookForm();
         SendOrderInfoEvent += newBookForm.GetInfo;
         SendOrderInfoEvent.Invoke(textBoxISBN.Text, (int)numericUpDownAmount.Value);
         newBookForm.ShowDialog();
     }
 }
 private void ShowAllBookData()
 {
     try
     {
         dataGridViewBooks.Rows.Clear();
         _books = BookDataAccess.GetAllOnsaleBooks();
         foreach (var book in _books)
         {
             int             rowId = dataGridViewBooks.Rows.Add();
             DataGridViewRow row   = dataGridViewBooks.Rows[rowId];
             row.Cells["ISBN"].Value   = book.ISBN;
             row.Cells["Title"].Value  = book.Title;
             row.Cells["Author"].Value = book.Author;
             row.Cells["Rate"].Value   = book.Book_Rate.ToString();
             row.Cells["Price"].Value  = book.Price.ToString();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #29
0
 public BooksController(BookDataAccess dataAccess)
 {
     _dataAccess = dataAccess;
 }
예제 #30
0
 private void dataGridViewMyOrders_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dataGridViewMyOrders.Columns[e.ColumnIndex].Name == "Detail" && e.RowIndex >= 0)
     {
         string OrderId_Value = dataGridViewMyOrders.Rows[e.RowIndex].Cells["OrderId"].Value?.ToString();
         bool   IsNewBook;
         try
         {
             IsNewBook = SupplierOrderDataAccess.GetIsNewBook(OrderId_Value);
         }
         catch (MyException ex)
         {
             MessageBox.Show(ex.Message);
             return;
         }
         if (!IsNewBook)
         {
             var book = BookDataAccess.GetFullBookBySupplierExistentBookOrderId(OrderId_Value);
             if (book == null)
             {
                 MessageBox.Show("图书不存在");
                 return;
             }
             BookDetailForm detailForm = new BookDetailForm();
             SendBookInfoEvent += detailForm.ShowBookDetail;
             SendBookInfoEvent.Invoke(book);
             detailForm.ShowDialog();
         }
         else
         {
             var new_book  = NewBookInfoOfSupplierOrderDataAccess.GetNewBookInfoBySupplierOrderId(OrderId_Value);
             int status_id = new_book.Supplier_Order.Status.Id;
             if (status_id == 1) // 未入库
             {
                 BookUnstockedDetailForm detailForm = new BookUnstockedDetailForm();
                 SendNewBookInfoEvent += detailForm.ShowNewBookDetail;
                 SendNewBookInfoEvent.Invoke(new_book);
                 detailForm.ShowDialog();
             }
             else // 已入库
             {
                 var book = BookDataAccess.GetFullBookByISBN(new_book.Book_ISBN);
                 if (book == null)
                 {
                     MessageBox.Show("图书不存在");
                     return;
                 }
                 BookDetailForm detailForm = new BookDetailForm();
                 SendBookInfoEvent += detailForm.ShowBookDetail;
                 SendBookInfoEvent.Invoke(book);
                 detailForm.ShowDialog();
             }
         }
     }
     else if (dataGridViewMyOrders.Columns[e.ColumnIndex].Name == "Cancel" && e.RowIndex >= 0)
     {
         string OrderId_Value  = dataGridViewMyOrders.Rows[e.RowIndex].Cells["OrderId"].Value.ToString();
         int    StatusId_Value = SupplierOrderDataAccess.GetStatusIdValue(OrderId_Value);
         if (StatusId_Value == 1)
         {
             try
             {
                 SupplierOrderDataAccess.CancelOrder(OrderId_Value);
             }
             catch (Exception ex)
             {
                 MessageBox.Show("取消订单失败\n" + ex.Message);
             }
         }
         ShowMyOrders();
     }
     else if (dataGridViewMyOrders.Columns[e.ColumnIndex].Name == "Delete" && e.RowIndex >= 0)
     {
         string OrderId_Value = dataGridViewMyOrders.Rows[e.RowIndex].Cells["OrderId"].Value.ToString();
         try
         {
             SupplierOrderDataAccess.DeleteOrder(OrderId_Value);
         }
         catch (Exception ex)
         {
             MessageBox.Show("删除订单失败\n" + ex.Message);
         }
         ShowMyOrders();
     }
 }