package sprzedaz;

import javax.swing.*;
import java.util.Comparator;
import java.util.List;

public class Opt4 {
    public static void main(String[] args) {
        List<Transakcja> lista = ObslugaCsvTransakcji.wczytaj();
        String miasto = JOptionPane.showInputDialog("Podaj miasto");

        // orElseGet(() -> wzrór na wynik)
        // wykona obliczenie tworzące wynik tylko wtedy i dopiero wtedy, gdy jest to potrzebne

        String tekst = lista.stream()
                .filter(r -> r.miasto().equalsIgnoreCase(miasto))
                .max(Comparator.comparing(Transakcja::wartosc))
                .map(r -> "Transakcja z dnia " + r.data() + " o wartości " + r.wartosc()
                                + "\n" + r.sztuk() + " sztuk towaru " + r.towar())
                .orElseGet(() -> "Nie znaleziono rekordów w mieście " + miasto);

        JOptionPane.showMessageDialog(null, tekst);

    }
}
