Exemple #1
0
        public static LongLLMemberUserDTO FromData(LocalLibraryMember member)
        {
            return(new LongLLMemberUserDTO()
            {
                MemberId = member.Id,
                LibraryName = member.LocalLibrary.Name,
                LibraryId = member.LocalLibrary.Id,
                MembershipExpiryDate = member.MembershipExpiryDate,
                NumberOfBorrowedBooks = member.BatchesOfBorrowedBooks.Count,                /*SelectMany(batch => batch.Books).ToList().Count,*/
                NumberOfReservedBooks = member.Reservations.Count,
                LastBorrowDate = member.BatchesOfBorrowedBooks.OrderBy(book => book.PickupDate).LastOrDefault()?.PickupDate,
                LibraryOpenHours = member.LocalLibrary.OpenHours,
                LibraryAddress = member.LocalLibrary.Address,
                LibraryEmail = member.LocalLibrary.Email,
                LibraryNumber = member.LocalLibrary.Number,
                BorrowedBooks = member
                                .BatchesOfBorrowedBooks
                                .Select(batchOfBorrowedBooks => batchOfBorrowedBooks.Books.Select(book => ShortBookDTO.FromData(book, batchOfBorrowedBooks.ReturnDeadline)))
                                .SelectMany(book => book)
                                .ToList(),

                Reservations = member.Reservations
                               //.BatchesOfReservedBooks
                               //.Select(batchOfReservedBooks => batchOfReservedBooks.Books.Select(book => ShortBookDTO.FromData(book, batchOfReservedBooks.PickupDeadline)))
                               //.SelectMany(book => book)
                               //.ToList()
            });
        }
Exemple #2
0
 public static ShortLLMemberUserDTO FromData(LocalLibraryMember member)
 {
     return(new ShortLLMemberUserDTO
     {
         LibraryName = member.LocalLibrary.Name,
         LibraryId = member.LocalLibrary.Id,
         MemberName = member.Name,
         MemberLastName = member.LastName,
         MemberAddress = member.Address,
         MemberEmail = member.Email,
         MemberOib = member.Oib,
         MembershipExpiryDate = member.MembershipExpiryDate,
         NumberOfBorrowedBooks = member.BatchesOfBorrowedBooks.Count,
         NumberOfReservedBooks = member.Reservations.Count,
         LastBorrowDate = member.BatchesOfBorrowedBooks.OrderBy(book => book.PickupDate).LastOrDefault()?.PickupDate,
         BarcodeNumber = member.BarcodeNumber
     });
 }
Exemple #3
0
        public void AddNewLibraryMember(NameValueCollection memberData, string blobUrl, Guid?userId)
        {
            using (var context = new AuthContext())
            {
                var library = context.LocalLibraries
                              .FirstOrDefault(localLibrary => localLibrary.Administrators.Select(admin => admin.Id).ToList().Contains(userId.ToString()));

                var barcodeNumber = long.Parse(context.LocalLibraryMembers
                                               //.Where(book => book.LocalLibrary.Id == library.Id)
                                               .OrderBy(member => member.BarcodeNumber)
                                               .ToList()
                                               .LastOrDefault()
                                               .BarcodeNumber) + 1;

                var name        = memberData["name"];
                var lastname    = memberData["lastname"];
                var oib         = memberData["oib"];
                var email       = memberData["email"];
                var address     = memberData["address"];
                var city        = memberData["city"];
                var phoneNumber = memberData["phoneNumber"];

                var memberToAdd = new LocalLibraryMember()
                {
                    Name                 = name,
                    LastName             = lastname,
                    Oib                  = oib,
                    Email                = email,
                    Address              = address + ", " + city,
                    PhoneNumber          = phoneNumber,
                    BarcodeNumber        = barcodeNumber.ToString(),
                    ImageUrl             = blobUrl,
                    LocalLibrary         = library,
                    MembershipExpiryDate = DateTime.Now.AddYears(1),
                    IsVerifiedLocal      = true
                };

                context.LocalLibraryMembers.Add(memberToAdd);

                context.SaveChanges();
            }
        }
Exemple #4
0
        public static LocalLibraryMemberDTO FromData(LocalLibraryMember member)
        {
            var borrowedBooks = member.BatchesOfBorrowedBooks
                                .Where(batch => batch.ReturnDeadline > DateTime.Now)
                                .Select(batchOfBorrowedBooks => batchOfBorrowedBooks.Books.Select(book => ShortBookDTO.FromData(book, batchOfBorrowedBooks.ReturnDeadline)))
                                .SelectMany(book => book)
                                .ToList();

            var lateBooks = member.BatchesOfBorrowedBooks
                            .Where(batch => batch.ReturnDeadline < DateTime.Now)
                            .Select(batchOfBorrowedBooks => batchOfBorrowedBooks.Books.Select(book => ShortBookDTO.FromData(book, batchOfBorrowedBooks.ReturnDeadline)))
                            .SelectMany(book => book)
                            .ToList();

            return(new LocalLibraryMemberDTO()
            {
                Name = member.Name,
                LastName = member.LastName,
                PhoneNumber = member.PhoneNumber,
                Email = member.Email,
                IsVerifiedLocal = member.IsVerifiedLocal,
                IsGuest = member.IsGuest,
                Oib = member.Oib,
                Address = member.Address,
                BarcodeNumber = member.BarcodeNumber,
                MembershipExpiryDate = member.MembershipExpiryDate,

                BorrowedBooks = borrowedBooks,

                LateBooks = lateBooks,

                Reservations = member.Reservations,

                TotalLateReturnFee = borrowedBooks.Count == 0 ? 0 : borrowedBooks.Select(book => book.LateReturnFee).Aggregate((sum, ele) => sum += ele)
            });
        }