using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Rozdzial18Cwiczenie2
{
	public partial class OrderForm : Form
	{
		public OrderForm()
		{
			InitializeComponent();
			ResetValues();
			ResetDeliveryDate();
		}

		// Po kliknięciu przycisku Add program zeruje następny wybór
		// i dodaje bieżące zamówienie do koszyka
		private void btnAdd_Click(object sender, EventArgs e)
		{
			ResetValues();
			SaveToShoppingCart();
		}

		// Ustawia wszystkie kontrolki na ich wyjściowe wartości
		private void ResetValues()
		{
			this.ddlBooks.SelectedIndex = -1;
			this.ddlBooks.Text = "Proszę wybrać książkę";
			this.numCopies.Value = 1;
			this.rbHardcover.Checked = false;
			this.rbLibrary.Checked = false;
			this.rbPaperback.Checked = true;
			this.cbConfirm.Checked = false;
			this.cbGiftWrap.Checked = false;
			this.cbRush.Checked = false;
		}

		// Oddzielone, jeśli trzeba ustawić je odrębnie
		private void ResetDeliveryDate()
		{
			// Minimalny czas dostawy to dwa dni
			this.deliveryDate.MinDate = DateTime.Now + new TimeSpan(2, 0, 0, 0);
			// Inicjowanie kontrolki zmienną MinDate
			this.deliveryDate.Value = this.deliveryDate.MinDate;
		}

		// Obsługuje koszyk zakupów i aktualizację statusu 
		private void SaveToShoppingCart()
		{
			// Tu operacje do zapisu wyborów
			this.lblStatus.Text = "Dodano do koszyka zakupów.";
		}

		// Powoduje, że użycie dowolnej kontrolki innej niż przycisk
		// zeruje status (aby uniknąć problemów)
		private void UniversalEventHandler(object sender, EventArgs e)
		{
			this.lblStatus.Text = string.Empty;
		}

	} // Koniec klasy
}    // Koniec przestrzeni nazw
