reaproveitamento-poo-java

ref: master

src/org/porcellis/controllers/ImobiliariaController.java


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package org.porcellis.controllers;

import org.porcellis.models.Imobiliaria;
import org.porcellis.models.Imovel;
import org.porcellis.views.ImobiliariaView;

import java.util.ArrayList;
import java.util.List;
import java.util.Comparator;

public class ImobiliariaController {
	private ImobiliariaView imobiliariaView;
	private List<Imobiliaria> imobiliarias;

	public ImobiliariaController(ImobiliariaView imobiliariaView) {
		this.imobiliarias = new ArrayList<Imobiliaria>();
		this.imobiliariaView = imobiliariaView;
	}

	public void adicionarImobiliaria(Imobiliaria imobiliaria) {
		imobiliarias.add(imobiliaria);
	}

	public void exibirPrevisaoFaturamento() {
		for (Imobiliaria unidade : imobiliarias) {
			imobiliariaView.mostrarPrevisaoFaturamento(unidade);
		}
	}

	public void exibirPrevisaoITBI() {
		for (Imobiliaria unidade : imobiliarias) {
			imobiliariaView.mostrarPrevisaoITBI(unidade);
		}
	}

	public void listarPorPrevisaoFaturamento() {
		imobiliarias.stream()
			.sorted(Comparator.comparingDouble(Imobiliaria::getPrevisaoDeFaturamento).reversed())
			.forEach(imobiliaria -> {
				imobiliariaView.mostrarPrevisaoFaturamento(imobiliaria);
			});
	}

	public void listarImobiliarias() {
		for (Imobiliaria imobiliaria : imobiliarias) {
			imobiliariaView.mostrarDetalhesImobiliaria(imobiliaria);
		}
	}
}