package library.step5;

import java.util.List;

// Paso 5 (final): igual que el paso 4; lo que cambió está en MemberType.
public class LibraryDesk {

    private final StatementFormatter formatter = new StatementFormatter();

    public String statement(Member member, List<Loan> loans) {
        StringBuilder text = new StringBuilder(formatter.header(member));
        for (Loan loan : loans) {
            text.append(formatter.line(loan, member.fineFor(loan)));
        }
        text.append(formatter.footer(totalFine(member, loans)));
        return text.toString();
    }

    public int totalFine(Member member, List<Loan> loans) {
        int total = 0;
        for (Loan loan : loans) {
            total += member.fineFor(loan);
        }
        return total;
    }
}
