private void StartButton_Click(object sender, RoutedEventArgs e) // клик по кнопке начать работу системы { bool flag = true; for (int i = 0; i < SystemOfBookStore.booksInStore.Count; i++) { Book book = SystemOfBookStore.booksInStore.ElementAt(i).Key; try { SystemOfBookStore.booksInStore[book] = int.Parse(NumbersOfBooks[i].Text); // внесение значений, выбранных пользователем для первоначального количества экземпляров каждой книги } catch (Exception exception) // произойдет исключение, если пользователь не выбрал никакое значение ComboBox { flag = false; } } if (flag) { WorkOfSystem workOfSystem = new WorkOfSystem(SystemOfBookStore); // создаем экземляр окна WorkOfSystem workOfSystem.Owner = this; this.Hide(); workOfSystem.WindowStartupLocation = WindowStartupLocation.CenterOwner; // первоначальное расположение окна workOfSystem.Show(); //показать окно } else { MessageBox.Show("Check if all values are entered."); } }
private void PlaceTheOrder_Click(object sender, RoutedEventArgs e) // клик по кнопке "разместить заказ" { bool flag = true; char[] delimitors = new char[] { ' ' }; if (TypeOfOrder == "OrderInStore") { OrderOfCustomer = new OrderInStore(); // создание заказа определенного типа } else if (TypeOfOrder == "OrderByPhone") { OrderOfCustomer = new OrderByPhone(); } else if (TypeOfOrder == "OrderByEmail") { OrderOfCustomer = new OrderByEmail(); } if (surnameOfTheCuctomer.Text != null) { OrderOfCustomer.SurnameOfTheCustomer = surnameOfTheCuctomer.Text; // добавление введенной пользователем фамилии заказчика } else { MessageBox.Show("Enter the surname of the customer"); flag = false; } if (phoneNumber.Text != null) { OrderOfCustomer.phoneNumber = phoneNumber.Text; // добавление номера телефона } else { MessageBox.Show("Enter the phone number of the customer"); flag = false; } if (emailAdress.Text != null && TypeOfOrder == "OrderByEmail") // добавление адреса эл. почты, если заказ сделан по эл. почте { var Order = (OrderByEmail)OrderOfCustomer; Order.Email = emailAdress.Text; OrderOfCustomer = Order; } else if (TypeOfOrder == "OrderByEmail") { MessageBox.Show("Enter email of the customer"); flag = false; } for (int i = 0; i < authors.Count; i++) { if (authors[i].Visibility == Visibility.Visible && authors[i].Text != null && names[i].Text != null && numbersOfCopies[i].Text != null) { Book book = null; string[] initialsOfAuthor = authors[i].Text.Split(delimitors, StringSplitOptions.RemoveEmptyEntries); if (initialsOfAuthor.Length > 1) { for (int l = 1; l < initialsOfAuthor.Length; l++) { initialsOfAuthor[0] += ' ' + initialsOfAuthor[l]; } } string author = initialsOfAuthor[0]; // автор, введенный в TextBox foreach (Book p in SystemOfBookStore.booksInStore.Keys) { string[] elements = p.Author.Split(' '); if (p.Author == author) // сопоставление этого автора с авторами имеющихся в магазине книг { book = p; break; } else { foreach (string el in elements) { if (el == author) { book = p; break; } } if (book != null) { break; } } if (i == (authors.Count - 1) && book == null) { flag = false; MessageBox.Show("Books of this author are not found."); } } string[] partsOfNameOfTheBook = names[i].Text.Split(delimitors, StringSplitOptions.RemoveEmptyEntries); if (partsOfNameOfTheBook.Length > 1) { for (int k = 1; k < partsOfNameOfTheBook.Length; k++) { partsOfNameOfTheBook[0] += ' ' + partsOfNameOfTheBook[k]; } } string nameOfTheBook = partsOfNameOfTheBook[0]; // название книги из TextBox if (nameOfTheBook != "new") { if (book != null && book.Name != nameOfTheBook) { bool flag1 = false; foreach (Book p in SystemOfBookStore.booksInStore.Keys) { if (p.Author == book.Author && p.Name == nameOfTheBook) { flag1 = true; // сравнение полученного названия книги с имеющимися в магазине, определение заказываемой книги book = p; break; } } if (!flag1) { flag = false; MessageBox.Show("Check that the book information you entered is correct!"); break; } } } else if (nameOfTheBook == "new" && book != null) { foreach (Book p in SystemOfBookStore.booksInStore.Keys) // определение новой книги автора { if (book.Author == p.Author && p.YearOfEdition > book.YearOfEdition) { book = p; } } } if (book != null) { if (!OrderOfCustomer.OrderedBoooks.ContainsKey(book)) { OrderOfCustomer.OrderedBoooks.Add(book, int.Parse(numbersOfCopies[i].Text)); // добавление полученной книги в список заказываемых книг текущего заказа } else { OrderOfCustomer.OrderedBoooks[book] += int.Parse(numbersOfCopies[i].Text); // если книга уже есть в списке, то добавление кол-ва ее экземпляров } } } else if (authors[i].Visibility == Visibility.Visible) { flag = false; MessageBox.Show("Check that the book information you entered is correct!"); break; } } WorkOfSystem work = this.Owner as WorkOfSystem; if (work != null && flag == true) { OrderOfCustomer.DayWhenOrderWasMade = int.Parse(work.currentDay.Text); // получения дня, когда заказ был сделан this.Close(); work.WindowStartupLocation = WindowStartupLocation.CenterOwner; // закрытие окна заказа, возвращение к окну WorkOfSystem work.Show(); work.SellBooks(OrderOfCustomer); // продажа книг в текущем заказе, если они есть в наличии if (OrderOfCustomer.OrderedBoooks.Count == 0) { work.SystemOfBookStore.outstandingOrders.Remove(OrderOfCustomer); // если все книги уже куплены заказчиком, то его заказ удаляется } else { work.SystemOfBookStore.outstandingOrders.Add(OrderOfCustomer); // добавление заказа в список невыполненных заказов } } }