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(); } }
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("Укажите состояние кассеты"); } }
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("Неверный формат введённых данных!"); } } }