Пример #1
0
        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("Ни одно из полей не может быть пустым.");
            }
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        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("Выдача журналов и книг невозможна, их можно только просматривать в читальном зале.");
                }
            }
        }