package cap8.acquisti;

public class Negozio
{ public static final int MAXID = 10;
  private static class Articolo
  { int disp;
    double prezzo;
  }
  private Articolo[] articoli = new Articolo[MAXID];
  private boolean idValido(int id)
  { return (id >= 0) && (id < MAXID) &&
    (articoli[id] != null);
  }
  public boolean aggiungi(int id, int num)
  { if ((id < 0) || (id > MAXID) || (num <= 0))
      return false;
    if (articoli[id] == null)
      articoli[id] = new Articolo();
    int num2 = articoli[id].disp + num;
    articoli[id].disp = num2;
    return true;
  }
  public boolean fissaPrezzo(int id, double p)
  { if (!idValido(id) || (p <= 0))
      return false;
    articoli[id].prezzo = p;
    return true;
  }
  public boolean compra(int id, Pezzi q, Soldi s)
  { if (!idValido(id) || (q.num < 0) || (s.tot < 0))
      return false;
    int num =
      (q.num < articoli[id].disp) ? q.num : articoli[id].disp;
    int num2 = (int) (s.tot / articoli[id].prezzo);
    q.num = ((num < num2) ? num : num2);
    articoli[id].disp -= q.num;
    s.tot -= (q.num * articoli[id].prezzo);
    return true;
  }
}
