Nessun duplicato nello scontrino
This commit is contained in:
parent
6bd776d4f0
commit
f948c2e3c2
@ -354,22 +354,34 @@ public class listaSpesa {
|
||||
|
||||
if (prodottoTrovato.checkQtaDisponibile(
|
||||
useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(), qta) != 0) {
|
||||
|
||||
if (qta <= prodottoTrovato.checkQtaDisponibile(
|
||||
useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(), qta)) {
|
||||
if (prodottoTrovato.getQta() - qta == 0) {
|
||||
System.out.println("Attenzione: il prodotto è stato finito.");
|
||||
scontrino[trovaPosizioneLibera(scontrino)] = prodottoTrovato;
|
||||
magazzino[trovaProdottoInMagazzino(prodottoTrovato)] = null;
|
||||
|
||||
if (trovaProdottoInScontrino(prodottoTrovato) == -1) {
|
||||
|
||||
if (prodottoTrovato.getQta() - qta == 0) {
|
||||
System.out.println("Attenzione: il prodotto è stato finito.");
|
||||
scontrino[trovaPosizioneLibera(scontrino)] = prodottoTrovato;
|
||||
magazzino[trovaProdottoInMagazzino(prodottoTrovato)] = null;
|
||||
} else {
|
||||
int posizioneScontrino = trovaPosizioneLibera(scontrino);
|
||||
prodottoTrovato.updQtaMagazzino(
|
||||
useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(),
|
||||
prodottoTrovato.getQta() - qta);
|
||||
scontrino[posizioneScontrino] = isAlimentare
|
||||
? new Alimentare((Alimentare) prodottoTrovato)
|
||||
: new NonAlimentare((NonAlimentare) prodottoTrovato);
|
||||
scontrino[posizioneScontrino].updQtaMagazzino(
|
||||
useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(),
|
||||
qta);
|
||||
}
|
||||
exit = true;
|
||||
} else {
|
||||
int posizioneScontrino = trovaPosizioneLibera(scontrino);
|
||||
prodottoTrovato.updQtaMagazzino(
|
||||
useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(),
|
||||
prodottoTrovato.getQta() - qta);
|
||||
scontrino[posizioneScontrino] = isAlimentare ? new Alimentare((Alimentare)prodottoTrovato) : new NonAlimentare((NonAlimentare)prodottoTrovato);
|
||||
scontrino[posizioneScontrino].updQtaMagazzino(
|
||||
useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(), qta);
|
||||
System.out.println("Errore: il prodotto esiste già nello scontrino.");
|
||||
pausa();
|
||||
error = true;
|
||||
}
|
||||
exit = true;
|
||||
|
||||
} else {
|
||||
System.out.println("Errore: la quantità inserita supera quella disponibile, ovvero "
|
||||
@ -445,7 +457,8 @@ public class listaSpesa {
|
||||
Prodotto ritorno = null;
|
||||
boolean exit = false;
|
||||
for (int i = 0; i < magazzino.length && !exit; i++) {
|
||||
if (magazzino[i].getNome().contains(p_nomeODescrizione) || magazzino[i].getDescrizione().contains(p_nomeODescrizione)) {
|
||||
if (magazzino[i].getNome().contains(p_nomeODescrizione)
|
||||
|| magazzino[i].getDescrizione().contains(p_nomeODescrizione)) {
|
||||
ritorno = magazzino[i];
|
||||
exit = true;
|
||||
}
|
||||
@ -473,6 +486,26 @@ public class listaSpesa {
|
||||
return ritorno;
|
||||
}
|
||||
|
||||
static int trovaProdottoInScontrino(Prodotto p_prodotto) {
|
||||
int ritorno = -1;
|
||||
boolean exit = true;
|
||||
for (int i = 0; i < scontrino.length && exit; i++) {
|
||||
if (scontrino[i] != null) {
|
||||
exit = false;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < scontrino.length && !exit; i++) {
|
||||
if (scontrino[i] != null) {
|
||||
if (scontrino[i].hashCode() == p_prodotto.hashCode()) {
|
||||
ritorno = i;
|
||||
exit = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ritorno;
|
||||
}
|
||||
|
||||
static int trovaPosizioneLibera(Prodotto[] p_prodotti) {
|
||||
int ritorno = -1;
|
||||
boolean exit = false;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user