public List <BorrowerRecord> GetCurrentBorrowers()
        {
            List <BorrowerRecord> currentBorrowers = new List <BorrowerRecord>();

            try
            {
                XElement doc           = XElement.Load(_bookCatalogPath);
                var      borrowedBooks = doc.Elements(ConstantsBookRepository.BOOK_OBJECT)
                                         .Where(e => e.Element(ConstantsBookRepository.BORROWER_OBJECT).Element(ConstantsBookRepository.BORROWER_NAME).Value != "").ToList();

                if (borrowedBooks != null)
                {
                    foreach (XElement borrowedBook in borrowedBooks)
                    {
                        BorrowerRecord borrowerRecord = currentBorrowers
                                                        .FirstOrDefault(b => b.LastBorrower.Name == borrowedBook.Element(ConstantsBookRepository.BORROWER_OBJECT).Element(ConstantsBookRepository.BORROWER_NAME).Value &&
                                                                        b.LastBorrower.LastName == borrowedBook.Element(ConstantsBookRepository.BORROWER_OBJECT).Element(ConstantsBookRepository.BORROWER_LAST_NAME).Value);

                        if (borrowerRecord != null)
                        {
                            borrowerRecord.NumberOfBooksBorrowed += 1;
                        }
                        else
                        {
                            currentBorrowers.Add(new BorrowerRecord()
                            {
                                LastBorrower = new Borrower()
                                {
                                    Name     = borrowedBook.Element(ConstantsBookRepository.BORROWER_OBJECT).Element(ConstantsBookRepository.BORROWER_NAME).Value,
                                    LastName = borrowedBook.Element(ConstantsBookRepository.BORROWER_OBJECT).Element(ConstantsBookRepository.BORROWER_LAST_NAME).Value
                                },
                                NumberOfBooksBorrowed = 1
                            });
                        }
                    }
                }
            }
            catch (Exception)
            { }

            return(currentBorrowers);
        }
Ejemplo n.º 2
0
        public List <BorrowerRecord> GetCurrentBorrowers()
        {
            List <BorrowerRecord> currentBorrowers = new List <BorrowerRecord>();

            try
            {
                List <Library> borrowedBooks = JsonConvert.DeserializeObject <List <Library> >(File.ReadAllText(_bookCatalogPath))
                                               .Where(b => b.LastBorrower.Name != "").ToList();

                if (borrowedBooks.Count > 0)
                {
                    foreach (Library book in borrowedBooks)
                    {
                        BorrowerRecord borrowerRecord = currentBorrowers.FirstOrDefault(b => b.LastBorrower.Name == book.LastBorrower.Name &&
                                                                                        b.LastBorrower.LastName == book.LastBorrower.Lastname);

                        if (borrowerRecord != null)
                        {
                            borrowerRecord.NumberOfBooksBorrowed += 1;
                        }
                        else
                        {
                            currentBorrowers.Add(new BorrowerRecord()
                            {
                                LastBorrower = new Borrower()
                                {
                                    Name     = book.LastBorrower.Name,
                                    LastName = book.LastBorrower.Lastname
                                },
                                NumberOfBooksBorrowed = 1
                            });
                        }
                    }
                }
            }
            catch (Exception)
            { }

            return(currentBorrowers);
        }