// BEHAVIOUR PERCETAKAN /// <summary> /// Percetakan menerima pesanan dari pelanggan. /// </summary> /// <param name="pesanan">Detail terkait pesanan.</param> public static void TerimaPesanan(Pesanan pesanan) { if (!pesanan.isEkspres) { _antrianBiasa.Enqueue(pesanan); } else { _antrianEkspres.Enqueue(pesanan); } }
private void BersiapMencetak() { if (antrianEkspresLabel.Text != "") { sedangDicetak = antrianEkspres[0]; antrianEkspres.RemoveAt(0); PerbaruiAntrianEkspresLabel(); akanDicetakLabel.Text = "Pelanggan" + sedangDicetak.idPelanggan.ToString() + ": " + sedangDicetak.namaBerkas; } else if (antrianBiasaLabel.Text != "") { sedangDicetak = antrianBiasa[0]; antrianBiasa.RemoveAt(0); PerbaruiAntrianBiasaLabel(); akanDicetakLabel.Text = "Pelanggan" + sedangDicetak.idPelanggan.ToString() + ": " + sedangDicetak.namaBerkas; } }
/// <summary> /// Percetakan mencetak pesanan dengan nomor urut paling awal. Pesanan ekspres selalu lebih awal dari pesanan biasa. /// </summary> /// <returns>Kembalian berupa pesanan yang dicetak.</returns> public static Pesanan Cetak() { if (_antrianEkspres.Any()) { Pesanan pesanan = _antrianEkspres.Peek(); BerkasTercetak.Add(pesanan); _antrianEkspres.Dequeue(); return(pesanan); } else if (_antrianBiasa.Any()) { Pesanan pesanan = _antrianBiasa.Peek(); BerkasTercetak.Add(pesanan); _antrianBiasa.Dequeue(); return(pesanan); } else { return(new Pesanan(0, "", false)); } }