예제 #1
0
        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.");
            }
        }
예제 #2
0
        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);           // добавление заказа в список невыполненных заказов
                }
            }
        }