public void GenerateReaderData()
 {
     for (int i = 0; i < NumberOfReaders; i++)
     {
         var r = new Reader(i, _names[_generator.Next(0, _names.Length)], _surnames[_generator.Next(0, _surnames.Length)]);
         ReadersById.Add(r);
         ReadersByName.Add(r);
     }
 }
Exemplo n.º 2
0
        public void ReadReadersFromFile(string filename)
        {
            StreamReader w    = new StreamReader(filename);
            string       line = "";

            while ((line = w.ReadLine()) != null)
            {
                var r = ParseReader(line);
                ReadersById.Add(r);
                ReadersByName.Add(r);
                NumberOfReaders++;
            }
            w.Close();
        }
Exemplo n.º 3
0
        Borrowing ParseLateBorrowing(string line)
        {
            // The Creator,Dejan Stojanović,10708,978-41-64944-2775,978-41-64944-2785,Josephine,Lichtenberg,9483,27.11.2016,,,false,Altenpleen K2
            // Monks Pond: No. 1  1968,Thomas Merton,6185,978-41-64944-1615,978-41-64944-1625,Josephine,Lichtenberg,9483,27.11.2016,,,false,Aldersbach O6

            var data       = line.Split(',');
            var title      = data[0];
            var author     = data[1];
            var uid        = data[2];
            var isbn       = data[3];
            var ean        = data[4];
            var readername = data[5];
            var surname    = data[6];
            var rid        = data[7];
            var from       = data[8].Split('.');
            var to         = data[9].Split('.');
            var archived   = data[10];
            var lib        = data[11];
            var fee        = int.Parse(data[12]);

            var l    = Libraries.SearchNode(new Library(lib), Libraries.Root);
            var book = new Book(author, title, isbn, ean, "", l.Data, int.Parse(uid), 0, 0);

            var b = BooksByUniqueId.SearchNode(book, BooksByUniqueId.Root);

            b.Data.TimeOfBorrow = new DateTime(int.Parse(from[2]), int.Parse(from[1]), int.Parse(from[0]));
            b.Data.IsArchived   = archived.Equals("true");

            var       r   = ReadersById.SearchNode(new Reader(int.Parse(rid), readername, surname), ReadersById.Root);
            Borrowing bor = new Borrowing(b.Data.Copy(), new Reader(int.Parse(rid), readername, surname));

            bor.DateOfBorrow = new DateTime(int.Parse(from[2]), int.Parse(from[1]), int.Parse(from[0]));
            bor.DateOfReturn = new DateTime(int.Parse(to[2]), int.Parse(to[1]), int.Parse(to[0]));
            bor.Fee          = fee;
            bor.FeeToPay     = true;
            r.Data.LateBookReturns.Add(bor);

            return(bor);
        }
 public void GenerateBorrowingData()
 {
     for (int i = 1; i < NumberOfBooks; i++)
     {
         var      b    = BooksByUniqueId.SearchNode(new Book("", "", "", "", "", null, i), BooksByUniqueId.Root);
         DateTime from = new DateTime(_generator.Next(2012, 2013), _generator.Next(1, 12), _generator.Next(1, 28));
         DateTime to   = from.AddDays(_generator.Next(5, 35));
         for (int j = 0; j < 10000; j++)
         {
             var r = ReadersById.SearchNode(new Reader(1, "", ""), ReadersById.Root);
             var l = Libraries.SearchNode(new Library(libraryNames[_generator.Next(0, NumberOfLibraries)]),
                                          Libraries.Root);
             b.Data.Borrow(r.Data, from);
             b.Data.Return(l.Data, r.Data, to);
             from = to.AddDays(2);
             to   = from.AddDays(_generator.Next(5, 35));
             if (to > DateTime.Today)
             {
                 return;
             }
         }
     }
 }
Exemplo n.º 5
0
        Borrowing ParsePreviousBorrowing(string line)
        {
            // Cables to the Ace,Thomas Merton,1826,978-41-64944-475,978-41-64944-485,Josephine,Lichtenberg,
            // 9483,27.11.2016,27.11.2016,false,Aldersbach O6,0
            var data       = line.Split(',');
            var title      = data[0];
            var author     = data[1];
            var uid        = data[2];
            var isbn       = data[3];
            var ean        = data[4];
            var readername = data[5];
            var surname    = data[6];
            var rid        = data[7];
            var from       = data[8].Split('.');
            var to         = data[9].Split('.');
            var archived   = data[10];
            var lib        = data[11];
            var fee        = int.Parse(data[12]);
            var l          = Libraries.SearchNode(new Library(lib), Libraries.Root);

            var book = new Book(author, title, isbn, ean, "", l.Data, int.Parse(uid), 0, 0);
            var b    = BooksByUniqueId.SearchNode(book, BooksByUniqueId.Root);

            b.Data.TimeOfBorrow = new DateTime(int.Parse(from[2]), int.Parse(from[1]), int.Parse(from[0]));
            b.Data.IsArchived   = archived.Equals("true");

            var       r   = ReadersById.SearchNode(new Reader(int.Parse(rid), readername, surname), ReadersById.Root);
            Borrowing bor = new Borrowing(b.Data.Copy(), new Reader(int.Parse(rid), readername, surname));

            bor.DateOfBorrow = new DateTime(int.Parse(from[2]), int.Parse(from[1]), int.Parse(from[0]));
            bor.DateOfReturn = new DateTime(int.Parse(to[2]), int.Parse(to[1]), int.Parse(to[0]));
            bor.Fee          = fee;
            bor.FeeToPay     = true;
            r.Data.BooksBorrowedInPast.Add(bor);

            return(bor);
        }
Exemplo n.º 6
0
        // nacitanie dat zo suboru do kniznice :)
        private void LoadData()
        {
            StreamReader w    = new StreamReader("libraries.txt");
            string       line = "";

            Libraries = new AvlTree <Library>(new Library.LibraryNameComparator());
            while ((line = w.ReadLine()) != null)
            {
                Libraries.Add(new Library(line));
            }
            w.Close();

            StreamReader w2 = new StreamReader("books.txt");

            line            = "";
            BooksByName     = new AvlTree <Book>(new Book.BookNameComparator());
            BooksByUniqueId = new AvlTree <Book>(new Book.BookUniqueIdComparer());
            BooksByIsbn     = new AvlTree <Book>(new Book.BookIsbnComparator());
            while ((line = w2.ReadLine()) != null)
            {
                var data = line.Split(',');

                var title  = data[0].Trim();
                var author = data[1];
                var uid    = data[2].Trim();
                var isbn   = data[3].Trim();
                var ean    = data[4].Trim();

                //var name = data[5].Trim();
                //var surname = data[6].Trim();
                //var from = data[7].Trim();
                //var to = data[8].Trim();
                //var borrowed = data[9].Trim();
                //var archived = data[10].Trim();

                Book b = new Book(author, title, isbn, ean, "Poetry", null, int.Parse(uid));
                // time from, to, archived, borrowed
                BooksByIsbn.Add(b);
                BooksByUniqueId.Add(b);
                BooksByName.Add(b);
            }
            w2.Close();

            StreamReader w3 = new StreamReader("current.txt");

            line = "";
            while ((line = w3.ReadLine()) != null)
            {
                var data = line.Split(',');
                if (data[0].Contains(":"))
                {
                    var title  = data[0].Trim();
                    var author = data[1];
                    var uid    = data[2].Trim();
                    var isbn   = data[3].Trim();
                    var ean    = data[4].Trim();

                    var name     = data[5].Trim();
                    var surname  = data[6].Trim();
                    var rid      = data[7].Trim();
                    var from     = data[8].Trim();
                    var to       = data[9].Trim();
                    var borrowed = data[10].Trim();
                    var archived = data[11].Trim();

                    var currLib = data[12].Trim();

                    Book b = new Book(author, title, isbn, ean, "Poetry", new Library(currLib), int.Parse(uid));
                    if (from != "")
                    {
                        var date = from.Split('.');
                        b.TimeOfBorrow = new DateTime(int.Parse(date[2]), int.Parse(date[1]), int.Parse(date[0]));
                    }
                    if (to != "")
                    {
                        var date = to.Split('.');
                        b.TimeOfReturn = new DateTime(int.Parse(date[2]), int.Parse(date[1]), int.Parse(date[0]));
                    }

                    b.IsBorrowed = borrowed != "";
                    b.IsArchived = archived != "";

                    if (name != "" && surname != "" && rid != "")
                    {
                        Reader    r   = new Reader(int.Parse(rid), name, surname);
                        Reader    rf  = ReadersById.SearchNode(r, ReadersById.Root).Data;
                        Borrowing brw = new Borrowing(b, rf);
                    }
                }
                else
                {
                    continue;
                }
            }
            w2.Close();
        }