private void button1_Click(object sender, EventArgs e) { string tmp = "нет"; if (!String.IsNullOrWhiteSpace(textBox1.Text) && !String.IsNullOrWhiteSpace(textBox2.Text) && !String.IsNullOrWhiteSpace(textBox3.Text) && !String.IsNullOrWhiteSpace(textBox4.Text)) { if (textBox1.Text.All(char.IsLetter)) { if (textBox2.Text.All(char.IsLetter)) { if (textBox3.Text.All(char.IsLetter)) { if (textBox4.Text.All(char.IsDigit) && textBox4.Text.Length == 10) { if (radioButton1.Checked) { tmp = "да"; } readers.Add(new Reader(textBox1.Text, textBox2.Text, textBox3.Text, 8 + textBox4.Text, tmp, "")); /* * StreamWriter writer = new StreamWriter(@"readers.txt", true, Encoding.Default); * writer.WriteLine(textBox1.Text + "|" + textBox2.Text + "|" + textBox3.Text + "|" + textBox4.Text + "|" + tmp + "|"); * writer.Close(); */ Reader.Rewrite(readers); textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; textBox4.Text = ""; MessageBox.Show("Читатель успешно добавлен."); MenuAdmin main = this.Owner as MenuAdmin; if (main != null) { main.readers = readers; } } else { textBox4.Text = ""; MessageBox.Show("Некорректный формат телефонного номера."); } } else { textBox3.Text = ""; MessageBox.Show("Отчество может состоять только из букв."); } } else { textBox2.Text = ""; MessageBox.Show("Имя может состоять только из букв."); } } else { textBox1.Text = ""; MessageBox.Show("Фамилия может состоять только из букв."); } } else { MessageBox.Show("Ни одно из полей не может быть пустым."); } }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { if (listView1.SelectedItems.Count != 0) { string cut = "ListViewItem: {"; string[] text; int index = 0; text = listView1.SelectedItems[0].ToString().Split(','); for (int l = 0; l < publications.Count; l++) { if (publications[l].tittle == text[0].Replace(cut, "")) { index = l; } } string req = ""; foreach (var i in readers[num].taken) { if (i.Contains(publications[index].tittle)) { req = i; break; } } publications[index].quantity_available++; publications[index].id.Add(req); readers[num].taken.Remove(req); MessageBox.Show("Книга была успешно возвращена в библиотеку"); //перезапись данного читателя(обновление выданных ему книг) Reader.Rewrite(readers); /* * string ids = ""; * foreach (var i in readers[num].taken) * { * ids += i + ','; * } * if (ids.Length != 0) * { * ids = ids.Substring(0, ids.Length - 1); * } * string acc = "нет"; * if (readers[num].acces) * { * acc = "да"; * } * string[] readUsers = File.ReadAllLines(@"readers.txt", Encoding.Default); * string tmp = readers[num].surname + "|" + readers[num].name + "|" + * readers[num].patronymic + "|" + readers[num].phone_number + "|" + acc + * "|" + ids; * readUsers[num] = tmp; * File.WriteAllLines(@"readers.txt", readUsers, Encoding.Default); */ //перезапись данной книги(обновление количества экземпляров данной книги) Publication.Rewrite(publications); string aut = ""; /* * string[] readText = File.ReadAllLines(@"library.txt", Encoding.Default); * Book k = (Book)publications[index]; * * foreach (var elem in k.authors) * { * aut += elem + ','; * } * aut = aut.Substring(0, aut.Length - 1); * string rare = "нет"; * if (k.rare_literature) * { * rare = "да"; * } * string temp = "book|" + k.tittle + "|" + * k.publisher + "|" + aut + "|" + * k.genre + "|" + k.date_of_written + * "|" + k.quantity_available + "|" + rare; * * readText[index] = temp; * File.WriteAllLines(@"library.txt", readText, Encoding.Default); */ Reader r = readers[num]; aut = ""; listView1.Clear(); foreach (var elem in publications) { foreach (var q in r.taken) { if (q.Contains(elem.tittle)) { aut = ""; foreach (var a in elem.authors) { aut += a + " "; } listView1.Items.Add(elem.tittle + ',' + aut); } } } InfoReader main = this.Owner as InfoReader; main.readers = readers; main.publications = publications; main.label1.Text = readers[num].Show(publications); main.Refresh(); } }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { if (listView1.SelectedItems.Count != 0) { string cut = "ListViewItem: {"; string[] text; int index = 0; text = listView1.SelectedItems[0].ToString().Split(','); for (int k = 0; k < publications.Count; k++) { if (publications[k].tittle == text[0].Replace(cut, "")) { index = k; } } if (publications[index].GetType().ToString() == "Library.Book") { if (publications[index].quantity_available > 1) { if (publications[index].rare_literature == true) { if (readers[num].acces == true) { int lastind = publications[index].id.Count - 1; readers[num].timeoftaken.Add(DateTime.Today); readers[num].taken.Add(publications[index].id[lastind]); publications[index].id.RemoveAt(lastind); publications[index].quantity_available--; MessageBox.Show("Данная книга успешно выдана."); //перезапись данного читателя(обновление выданных ему книг) Reader.Rewrite(readers); /* * string ids = ""; * foreach (var i in readers[num].taken) { * ids += i + ','; * } * ids = ids.Substring(0, ids.Length - 1); * string acc = "нет"; * if (readers[num].acces) * { * acc = "да"; * } * * string[] readUsers = File.ReadAllLines(@"readers.txt", Encoding.Default); * string tmp = readers[num].surname + "|" + readers[num].name + "|" + * readers[num].patronymic + "|" + readers[num].phone_number + "|" + acc + * "|" + ids; * readUsers[num] = tmp; * File.WriteAllLines(@"readers.txt", readUsers, Encoding.Default); */ //перезапись данной книги(обновление количества экземпляров данной книги) Publication.Rewrite(publications); /* * string[] readText = File.ReadAllLines(@"library.txt", Encoding.Default); * Book k = (Book)publications[index]; * string aut = ""; * foreach (var elem in k.authors) * { * aut += elem + ','; * } * aut = aut.Substring(0, aut.Length - 1); * string rare = "нет"; * if (k.rare_literature) * { * rare = "да"; * } * string temp = "book|" + k.tittle + "|" + * k.publisher + "|" + aut + "|" + * k.genre + "|" + k.date_of_written + * "|" + k.quantity_available + "|" + rare; * * readText[index] = temp; * File.WriteAllLines(@"library.txt", readText, Encoding.Default); */ // InfoReader main = this.Owner as InfoReader; main.readers = readers; main.publications = publications; main.label1.Text = readers[num].Show(publications); main.Refresh(); } else { MessageBox.Show("У данного читателя нет доступа к этой книге."); } } else { int lastind = publications[index].id.Count - 1; readers[num].timeoftaken.Add(DateTime.Today); readers[num].taken.Add(publications[index].id[lastind]); publications[index].id.RemoveAt(lastind); publications[index].quantity_available--; MessageBox.Show("Данная книга успешно выдана."); //перезапись данного читателя(обновление выданных ему книг) string ids = ""; foreach (var i in readers[num].taken) { ids += i + ','; } ids = ids.Substring(0, ids.Length - 1); string acc = "нет"; if (readers[num].acces) { acc = "да"; } string[] readUsers = File.ReadAllLines(@"readers.txt", Encoding.Default); string tmp = readers[num].surname + "|" + readers[num].name + "|" + readers[num].patronymic + "|" + readers[num].phone_number + "|" + acc + "|" + ids; readUsers[num] = tmp; File.WriteAllLines(@"readers.txt", readUsers, Encoding.Default); //перезапись данной книги(обновление количества экземпляров данной книги) string[] readText = File.ReadAllLines(@"library.txt", Encoding.Default); Book k = (Book)publications[index]; string aut = ""; foreach (var elem in k.authors) { aut += elem + ','; } aut = aut.Substring(0, aut.Length - 1); string rare = "нет"; if (k.rare_literature) { rare = "да"; } string temp = "book|" + k.tittle + "|" + k.publisher + "|" + aut + "|" + k.genre + "|" + k.date_of_written + "|" + k.quantity_available + "|" + rare; readText[index] = temp; File.WriteAllLines(@"library.txt", readText, Encoding.Default); } } else { MessageBox.Show("Выдача книги невозможна, т.к. это последний экземпляр."); } } else { MessageBox.Show("Выдача журналов и книг невозможна, их можно только просматривать в читальном зале."); } } }