using System.ComponentModel; namespace LDBproject.Entities; public class Order { public int OrderID { get; private set; } [Browsable(false)] public int CardID { get; private set; } [Browsable(false)] public int LibrarianID { get; private set; } [DisplayName("Reader")] public string ReaderName { get; private set; } = string.Empty; [DisplayName("Librarian")] public string EmployeeName { get; private set; } = string.Empty; [DisplayName("Book")] public string BookInfo { get; private set; } = string.Empty; [DisplayName("Date of borrow")] public DateTime BorrowDate { get; private set; } [DisplayName("List of borrowed books")] public string BookList => Registrations != null ? string.Join(", ", Registrations.Select(x => $"{x.BookID} {x.Note}")) : string.Empty; [Browsable(false)] public IEnumerable<Registration> Registrations { get; set; } = []; public static Order NewOrder( int orderIndex, int ticketIndex, int librarian, IEnumerable<Registration> list, DateTime borrow) { return new Order { OrderID = orderIndex, CardID = ticketIndex, LibrarianID = librarian, Registrations = list, BorrowDate = borrow }; } public void SetRegs(IEnumerable<Registration> regs) { if (regs != null && regs.Any()) { Registrations = regs; } } }