Ejemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (richTextBox1.Text.Trim() == string.Empty || richTextBox2.Text.Trim() == string.Empty || richTextBox3.Text.Trim() == string.Empty)
            {
                MessageBox.Show("Обязательно заполните все данные!");
                getBack();
            }

            else if (File.Exists(DataBank.pathC) && File.Exists(DataBank.pathK))
            {
                int      schK    = 0; //есть ли такая кассета?
                string[] kassets = File.ReadAllLines(DataBank.pathK);
                foreach (string s in kassets)
                {
                    if (s == richTextBox1.Text)
                    {
                        schK++;
                    }
                }

                int      schC    = 0; //есть ли вообще такой клиент?
                string[] clients = File.ReadAllLines(DataBank.pathC);
                int      indC    = Array.IndexOf(clients, richTextBox2.Text);
                foreach (string s in clients)
                {
                    if (s == richTextBox2.Text)
                    {
                        schC++;
                    }
                }

                if (schC != 0 && schK != 0)
                {
                    int indK  = Array.IndexOf(kassets, richTextBox1.Text);
                    int price = DataBank.find_Price(richTextBox1.Text);
                    int uses  = Convert.ToInt32(clients[Array.IndexOf(clients, richTextBox2.Text) + 2]); //сколько раз клиент пользовался прокатом
                    int days  = Convert.ToInt32(richTextBox3.Text);

                    kassets[indK + 2] = (Convert.ToInt32(kassets[indK + 2]) - 1).ToString();  //уменьшение количества таких кассет в калатоге на 1
                    File.Delete(DataBank.pathK);
                    for (int i = 0; i < kassets.Length; i++)
                    {
                        using (StreamWriter stream = new StreamWriter(DataBank.pathK, true))
                        {
                            stream.WriteLine(kassets[i]);
                        }
                    }

                    clients[indC + 2] = (Convert.ToInt32(clients[indC + 2]) + 1).ToString();  //увеличение кол-ва использований клиента на 1
                    File.Delete(DataBank.pathC);
                    for (int i = 0; i < clients.Length; i++)
                    {
                        using (StreamWriter stream = new StreamWriter(DataBank.pathC, true))
                        {
                            stream.WriteLine(clients[i]);
                        }
                    }

                    using (StreamWriter stream = new StreamWriter(DataBank.pathR, true))  //добавление кассеты в список арендованных
                    {
                        stream.WriteLine(richTextBox1.Text);
                        stream.WriteLine(richTextBox2.Text);
                        stream.WriteLine(DateTime.Today.ToShortDateString());                                             //когда взял
                        stream.WriteLine(richTextBox3.Text);                                                              //на сколько дней взял
                        stream.WriteLine(DateTime.Today.AddDays(Convert.ToInt32(richTextBox3.Text)).ToShortDateString()); //когда вернет
                    }

                    if (uses >= 5)
                    {
                        MessageBox.Show("Клиент является постоянным \nЦена составит: " + (days) * (price * 0.8) + " с учётом скидки 20% \nОставить залог в размере " + price * 10);
                        getMainMenu();
                    }
                    else
                    {
                        MessageBox.Show("Цена составит: " + (days) * (price) + " \nОставить залог в размере " + price * 10);
                        getMainMenu();
                    }
                }

                else if (schK == 0)
                {
                    MessageBox.Show("Такой кассеты нет!");
                    getBack();
                }
                else if (schC == 0)
                {
                    DialogResult dialogResult = MessageBox.Show("Такого клиента в базе нет!\nДобавить клиента в базу?", "Some Title", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                        Hide();
                        AddClient AC = new AddClient();
                        AC.ShowDialog();
                        Close();
                    }
                    else if (dialogResult == DialogResult.No)
                    {
                        Hide();
                        RentOutNew back = new RentOutNew();
                        back.ShowDialog();
                        Close();
                    }
                }
            }

            else if (!File.Exists(DataBank.pathK))
            {
                MessageBox.Show("Отсутствует каталок кассет!");
                getMainMenu();
            }
            else if (!File.Exists(DataBank.pathC))
            {
                MessageBox.Show("Отсутствует каталок клиентов!");
                getMainMenu();
            }
        }
Ejemplo n.º 2
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (radioButton1.Checked || radioButton2.Checked)
            {
                if (richTextBox1.Text.Trim() == string.Empty || richTextBox2.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("Обязательно заполните все поля!");
                }

                else if (File.Exists(DataBank.pathK) && File.Exists(DataBank.pathC))
                {
                    int      schR    = 0; //сдавали ли вообще такую кассету именно этому клиенту?
                    string[] txt     = File.ReadAllLines(DataBank.pathR);
                    int      ir      = 0; //индекс сданной в прокат кассеты для Rented
                    int      ik      = 0; //индекс сданной в прокат кассеты для Kassets
                    var      indexes = txt.Select((a, i) => (a, i)).Where(x => x.a == richTextBox1.Text).Select(x => x.i).ToArray();
                    foreach (int s in indexes)
                    {
                        if (txt[s] == richTextBox1.Text && txt[s + 1] == richTextBox2.Text)
                        {
                            schR++;
                            ir = s;
                        }
                    }
                    if (schR == 0)
                    {
                        MessageBox.Show("Такой клиент такую кассету в прокат не брал!");
                    }

                    else
                    {
                        string[] clients = File.ReadAllLines(DataBank.pathC);
                        string[] kassets = File.ReadAllLines(DataBank.pathK);
                        ik = Array.IndexOf(kassets, richTextBox1.Text);
                        int days  = Convert.ToInt32(txt[ir + 3]);
                        int price = DataBank.find_Price(richTextBox1.Text);
                        int uses  = Convert.ToInt32(clients[Array.IndexOf(clients, richTextBox2.Text) + 2]); //сколько раз клиент пользовался прокатом

                        File.Delete(DataBank.pathR);                                                         //удаление кассеты из списка арендованных
                        for (int i = 0; i < txt.Length; i++)
                        {
                            if ((i != ir) && (i != ir + 1) && (i != ir + 2) && (i != ir + 3) && (i != ir + 4))
                            {
                                using (StreamWriter stream = new StreamWriter(DataBank.pathR, true))
                                {
                                    stream.WriteLine(txt[i]);
                                }
                            }
                        }

                        if (radioButton1.Checked)
                        {
                            kassets[ik + 2] = (Convert.ToInt32(kassets[ik + 2]) + 1).ToString();  //увеличение количества таких кассет в калатоге на 1
                            File.Delete(DataBank.pathK);
                            for (int i = 0; i < kassets.Length; i++)
                            {
                                using (StreamWriter stream = new StreamWriter(DataBank.pathK, true))
                                {
                                    stream.WriteLine(kassets[i]);
                                }
                            }

                            if (uses >= 5)
                            {
                                MessageBox.Show("Клиент является постоянным \nЦена составит: " + (days) * (price * 0.8) + " с учётом скидки 20% \nВернуть залог в размере " + price * 10);
                                getMainMenu();
                            }
                            else
                            {
                                MessageBox.Show("Вернуть клиенту залог в размере " + price * 10 + "\nВозьмите оплату в размере " + price * days);
                                getMainMenu();
                            }
                        }

                        else if (radioButton2.Checked)
                        {
                            if (uses >= 5)
                            {
                                MessageBox.Show("Клиент является постоянным \nЦена составит: " + (days) * (price * 0.8) + " с учётом скидки 20% \nКассета испорчена, залог не возвращается. ");
                                getMainMenu();
                            }
                            else
                            {
                                MessageBox.Show("Кассета испорчена, залог не возвращается. " + "\nВозьмите оплату в размере " + price * days);
                                getMainMenu();
                            }
                        }
                    }
                }

                else if (!File.Exists(DataBank.pathK))
                {
                    MessageBox.Show("Отсутствует каталок кассет!");
                    getMainMenu();
                }

                else if (!File.Exists(DataBank.pathC))
                {
                    MessageBox.Show("Отсутствует каталок клиентов!");
                    getMainMenu();
                }
            }
            else
            {
                MessageBox.Show("Укажите состояние кассеты");
            }
        }
Ejemplo n.º 3
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (richTextBox1.Text.Trim() == string.Empty || richTextBox2.Text.Trim() == string.Empty || richTextBox3.Text.Trim() == string.Empty)
            {
                MessageBox.Show("Обязательно заполните все данные!");
                getBack();
            }

            else if (File.Exists(DataBank.pathC) && File.Exists(DataBank.pathK))
            {
                try
                {
                    int      schK    = 0; //есть ли такая кассета?
                    string[] kassets = File.ReadAllLines(DataBank.pathK);
                    foreach (string s in kassets)
                    {
                        if (s == richTextBox1.Text)
                        {
                            schK++;
                        }
                    }

                    int      schC    = 0; //есть ли вообще такой клиент?
                    string[] clients = File.ReadAllLines(DataBank.pathC);
                    foreach (string s in clients)
                    {
                        if (s == richTextBox2.Text)
                        {
                            schC++;
                        }
                    }

                    if (schC != 0 && schK != 0)
                    {
                        int price = DataBank.find_Price(richTextBox1.Text);
                        int uses  = Convert.ToInt32(clients[Array.IndexOf(clients, richTextBox2.Text) + 2]); //сколько раз клиент пользовался прокатом
                        int days  = Convert.ToInt32(richTextBox3.Text);

                        if (uses >= 5)
                        {
                            MessageBox.Show("Клиент является постоянным \nЦена составит: " + (days) * (price * 0.8) + " с учётом скидки 20% \nЗалог составит " + price * 10);
                        }
                        else
                        {
                            MessageBox.Show("Цена составит: " + (days) * (price) + " \nЗалог составит " + price * 10);
                        }
                    }


                    else if (schK == 0)
                    {
                        MessageBox.Show("Такой кассеты нет!");
                    }
                    else if (schC == 0)
                    {
                        int days  = Convert.ToInt32(richTextBox3.Text);
                        int price = DataBank.find_Price(richTextBox1.Text);
                        MessageBox.Show("Такого клиента в базе нет!\nЦена составляет: " + (days) * (price) + " \nЗалог составляет " + price * 10);
                    }
                }
                catch (FormatException)
                {
                    MessageBox.Show("Неверный формат введённых данных!");
                }
            }
        }