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