Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace Smart_Piza
- {
- public partial class Form1 : Form
- {
- //Pizza priser constants
- const double REJER_MED_TUN_ALM_PRIS = 64.0, PEPPERONI_ALM_PRIS = 59.0, FAMILIE_MULTIPLIER = 1.5;
- //Ekstras priser
- const double LOEG = 5.0, REJER = 10.0, TUN = 7.0, PEPPERONI = 8.0, CHAMPIGNON = 11.0, OST = 6.0;
- //KCal i pizza
- const double REJER_MED_TUN_KCAL = 231.0, PEPPERONI_KCAL = 253.0;
- //Andet
- const double LEVERINGSPRIS = 30.0, LEVERINGSTID = 30.0; const int BESTILLINGSNUMMER = 000;
- public Form1()
- {
- InitializeComponent();
- }
- private void bestilButton_Click(object sender, EventArgs e)
- {
- string kvittering = "Du har bestilt: \n";
- if(pepperoniAlmindeligCheckBox.Checked && Convert.ToInt32(pepperoniAlmindeligAntalInput.Text) > 0)
- {
- kvittering += "Alm pepperoni: " + pepperoniAlmindeligAntalInput.Text + " à 59,0 kr stk.\n";
- if(ekstraPepperoniCheckBox.Checked || ekstraChampignonCheckBox.Checked || ekstraOstCheckBox.Checked)
- {
- kvittering += "Ektras: \n";
- if (ekstraPepperoniCheckBox.Checked)
- kvittering += "\tPepperoni: 8,0 kr.\n";
- if (ekstraChampignonCheckBox.Checked)
- kvittering += "\tChampigning: 11,0 kr. \n";
- if (ekstraOstCheckBox.Checked)
- kvittering += "\tOst: 6,0 kr. \n";
- }
- }
- if(pepperoniFamilieCheckBox.Checked && Convert.ToInt32(pepperoniFamilieAntalInput.Text) > 0)
- {
- kvittering += "Fam pepperoni: " + pepperoniFamilieAntalInput.Text + " à 88,5 kr stk.\n";
- }
- MessageBox.Show(kvittering);
- }
- //Metode der eksekveres når man trykker på 'Beregn' knap i GUI, indeholder metodekald til BeregnKalorier & BeregnPris.
- private void beregnButton_Click(object sender, EventArgs e)
- {
- if(!leveringButton.Checked && !afhentningButton.Checked)
- {
- MessageBox.Show("Du skal vælge om pizza(erne) skal afhentes eller leveres!");
- }
- /*Da en int divideret op i en double giver infinity istedet for en DividedByZero exception, bliver jeg nødt til at checke for at brugeren ikke inputter 0 inden metoden bliver kaldt.
- En try catch for en FormatException sørger for at brugeren ikke inputter bogstaver eller specialtegn.*/
- try
- {
- if (((rejerAlmindeligCheckBox.Checked || rejerFamilieCheckBox.Checked) && (Convert.ToInt32(rejerSkiveInput.Text) == 0))
- || ((pepperoniAlmindeligCheckBox.Checked || pepperoniFamilieCheckBox.Checked) && (Convert.ToInt32(pepperoniSkiveInput.Text) == 0)))
- {
- MessageBox.Show("Du må ikke dele pizzaen op i 0 skiver!");
- if (((rejerAlmindeligCheckBox.Checked || rejerFamilieCheckBox.Checked) && (Convert.ToInt32(rejerSkiveInput.Text) == 0)))
- {
- rejerSkiveInput.BackColor = System.Drawing.Color.Red;
- }
- if (((pepperoniAlmindeligCheckBox.Checked || pepperoniFamilieCheckBox.Checked) && (Convert.ToInt32(pepperoniSkiveInput.Text) == 0)))
- {
- pepperoniSkiveInput.BackColor = System.Drawing.Color.Red;
- }
- }
- else
- {
- BeregnKalorier(); //Kalder metoden til at beregne kalorierne per skive.
- if ((rejerAlmindeligCheckBox.Checked || rejerFamilieCheckBox.Checked) && (Convert.ToInt32(rejerSkiveInput.Text) != 0))
- {
- rejerSkiveInput.BackColor = System.Drawing.Color.White;
- }
- if ((pepperoniAlmindeligCheckBox.Checked || pepperoniFamilieCheckBox.Checked) && (Convert.ToInt32(pepperoniSkiveInput.Text) != 0))
- {
- pepperoniSkiveInput.BackColor = System.Drawing.Color.White;
- }
- }
- totalOutput.Text = BeregnPris();
- faerdigOutput.Text = beregnLeveringstid();
- }
- catch(FormatException)
- {
- MessageBox.Show("Felter må ikke være tomme,\nog der må kun indtastes hele tal.");
- }
- }
- //Beregn hvor lang tid før pizza er færdig.
- private string beregnLeveringstid()
- {
- double minutter; int antalPizza = 0;
- if (rejerAlmindeligCheckBox.Checked)
- antalPizza += Convert.ToInt32(rejerAlmindeligAntalInput.Text);
- if (rejerFamilieCheckBox.Checked)
- antalPizza += Convert.ToInt32(rejerFamilieAntalInput.Text);
- if (pepperoniAlmindeligCheckBox.Checked)
- antalPizza += Convert.ToInt32(pepperoniAlmindeligAntalInput.Text);
- if (pepperoniFamilieCheckBox.Checked)
- antalPizza += Convert.ToInt32(pepperoniFamilieAntalInput.Text);
- minutter = (double)antalPizza * 4;
- if (leveringButton.Checked)
- {
- minutter += LEVERINGSTID;
- }
- //faerdigOutput.Text = DateTime.Now.AddMinutes(minutter).ToString("HH:mm:ss");
- return DateTime.Now.AddMinutes(minutter).ToString("HH:mm:ss");
- }
- //Metode til at beregne antallet af kalorier per stykke pizza.
- private void BeregnKalorier()
- {
- if(rejerAlmindeligCheckBox.Checked || rejerFamilieCheckBox.Checked)
- {
- double almRejerKCal, famRejerKCal, totalRejerKCal = 0, rejerKCalPerSkive;
- int rejerSkiver;
- rejerSkiver = Convert.ToInt32(rejerSkiveInput.Text);
- if (rejerAlmindeligCheckBox.Checked)
- {
- almRejerKCal = (Convert.ToDouble(rejerAlmindeligAntalInput.Text) * REJER_MED_TUN_KCAL);
- totalRejerKCal += almRejerKCal;
- }
- if (rejerFamilieCheckBox.Checked)
- {
- famRejerKCal = (Convert.ToDouble(rejerFamilieAntalInput.Text) * REJER_MED_TUN_KCAL * FAMILIE_MULTIPLIER);
- totalRejerKCal += famRejerKCal;
- }
- rejerKCalPerSkive = totalRejerKCal / rejerSkiver;
- rejerKalorieOutput.Text = Convert.ToString(rejerKCalPerSkive);
- }
- if (pepperoniAlmindeligCheckBox.Checked || pepperoniFamilieCheckBox.Checked)
- {
- double almPepperoniKCal, famPepperoniKCal, totalPepperoniKCal = 0, pepperoniKCalPerSkive;
- int pepperoniSkiver;
- pepperoniSkiver = Convert.ToInt32(pepperoniSkiveInput.Text);
- if (pepperoniAlmindeligCheckBox.Checked)
- {
- almPepperoniKCal = (Convert.ToDouble(pepperoniAlmindeligAntalInput.Text) * PEPPERONI_KCAL);
- totalPepperoniKCal += almPepperoniKCal;
- }
- if (pepperoniFamilieCheckBox.Checked)
- {
- famPepperoniKCal = (Convert.ToDouble(pepperoniFamilieAntalInput.Text) * PEPPERONI_KCAL * FAMILIE_MULTIPLIER);
- totalPepperoniKCal += famPepperoniKCal;
- }
- pepperoniKCalPerSkive = totalPepperoniKCal / pepperoniSkiver;
- pepperoniKalorieOutput.Text = Convert.ToString(pepperoniKCalPerSkive);
- }
- }
- //Metode til at beregne prisen på pizzaerne.
- private string BeregnPris()
- {
- double total = 0;
- if(rejerAlmindeligCheckBox.Checked || rejerFamilieCheckBox.Checked)
- {
- double rejerSubtotal = 0;
- if (rejerAlmindeligCheckBox.Checked && Convert.ToInt32(rejerAlmindeligAntalInput.Text) > 0)
- {
- double rejerAlmPizzaAntal = Convert.ToDouble(rejerAlmindeligAntalInput.Text);
- rejerSubtotal += rejerAlmPizzaAntal * REJER_MED_TUN_ALM_PRIS;
- if (ekstraLoegCheckBox.Checked)
- {
- rejerSubtotal += LOEG * rejerAlmPizzaAntal;
- }
- if (ekstraRejerCheckBox.Checked)
- {
- rejerSubtotal += REJER * rejerAlmPizzaAntal;
- }
- if (ekstraTunCheckBox.Checked)
- {
- rejerSubtotal += TUN * rejerAlmPizzaAntal;
- }
- }
- if (rejerFamilieCheckBox.Checked && Convert.ToInt32(rejerFamilieAntalInput.Text)>0)
- {
- double rejerFamPizzaAntal = Convert.ToDouble(rejerFamilieAntalInput.Text);
- rejerSubtotal += rejerFamPizzaAntal * REJER_MED_TUN_ALM_PRIS * FAMILIE_MULTIPLIER;
- if (ekstraLoegCheckBox.Checked)
- {
- rejerSubtotal += LOEG * rejerFamPizzaAntal * FAMILIE_MULTIPLIER;
- }
- if (ekstraRejerCheckBox.Checked)
- {
- rejerSubtotal += REJER * rejerFamPizzaAntal * FAMILIE_MULTIPLIER;
- }
- if (ekstraTunCheckBox.Checked)
- {
- rejerSubtotal += TUN * rejerFamPizzaAntal * FAMILIE_MULTIPLIER;
- }
- }
- total += rejerSubtotal;
- Convert.ToDecimal(rejerSubtotal);
- rejerSubtotalOutput.Text = String.Format("{0:C}", rejerSubtotal);
- }
- if(pepperoniAlmindeligCheckBox.Checked || pepperoniFamilieCheckBox.Checked)
- {
- double pepperoniSubtotal = 0;
- if(pepperoniAlmindeligCheckBox.Checked && Convert.ToInt32(pepperoniAlmindeligAntalInput.Text) > 0)
- {
- double pepperoniAlmPizzaAntal = Convert.ToDouble(pepperoniAlmindeligAntalInput.Text);
- pepperoniSubtotal += pepperoniAlmPizzaAntal * PEPPERONI_ALM_PRIS;
- if (ekstraPepperoniCheckBox.Checked)
- {
- pepperoniSubtotal += PEPPERONI * pepperoniAlmPizzaAntal;
- }
- if (ekstraChampignonCheckBox.Checked)
- {
- pepperoniSubtotal += CHAMPIGNON * pepperoniAlmPizzaAntal;
- }
- if (ekstraOstCheckBox.Checked)
- {
- pepperoniSubtotal += OST * pepperoniAlmPizzaAntal;
- }
- }
- if(pepperoniFamilieCheckBox.Checked && Convert.ToInt32(pepperoniFamilieAntalInput.Text) > 0)
- {
- double pepperoniFamPizzaAntal = Convert.ToDouble(pepperoniFamilieAntalInput.Text);
- pepperoniSubtotal += pepperoniFamPizzaAntal * PEPPERONI_ALM_PRIS * FAMILIE_MULTIPLIER;
- if (ekstraPepperoniCheckBox.Checked)
- {
- pepperoniSubtotal += PEPPERONI * FAMILIE_MULTIPLIER * pepperoniFamPizzaAntal;
- }
- if (ekstraChampignonCheckBox.Checked)
- {
- pepperoniSubtotal += CHAMPIGNON * FAMILIE_MULTIPLIER * pepperoniFamPizzaAntal;
- }
- if (ekstraOstCheckBox.Checked)
- {
- pepperoniSubtotal += OST * FAMILIE_MULTIPLIER * pepperoniFamPizzaAntal;
- }
- }
- total += pepperoniSubtotal;
- Convert.ToDecimal(pepperoniSubtotal);
- pepperoniSubtotalOutput.Text = String.Format("{0:C}", pepperoniSubtotal);
- }
- if(leveringButton.Checked)
- {
- total += LEVERINGSPRIS;
- }
- Convert.ToDecimal(total);
- //totalOutput.Text = String.Format("{0:C}", total);
- return String.Format("{0:C}", total);
- }
- //Kontrol af hvilke check- og tekstboxe der er enabled.
- private void leveringButton_CheckedChanged(object sender, EventArgs e)
- {
- if(leveringButton.Checked)
- {
- faerdigLabel.Text = "Forventet leveret:";
- }
- else
- {
- faerdigLabel.Text = "Forventet færdig:";
- }
- }
- private void rejerAlmindeligCheckBox_CheckedChanged(object sender, EventArgs e)
- {
- //Aktiver/deaktiver tekstbox hvis checkbox er checked/unchecked
- if (rejerAlmindeligCheckBox.Checked)
- {
- rejerAlmindeligAntalInput.Enabled = true;
- }
- else
- {
- rejerAlmindeligAntalInput.Enabled = false;
- }
- //Aktiver checkboxes for ekstra toppings hvis mindst en af almindelig og familie pizza er valgt.
- if (rejerAlmindeligCheckBox.Checked || rejerFamilieCheckBox.Checked)
- {
- ekstraLoegCheckBox.Enabled = true;
- ekstraRejerCheckBox.Enabled = true;
- ekstraTunCheckBox.Enabled = true;
- rejerSkiveInput.Enabled = true;
- }
- else
- {
- ekstraLoegCheckBox.Enabled = false;
- ekstraRejerCheckBox.Enabled = false;
- ekstraTunCheckBox.Enabled = false;
- rejerSkiveInput.Enabled = false;
- }
- }
- private void rejerFamilieCheckBox_CheckedChanged(object sender, EventArgs e)
- {
- //Aktiver/deaktiver tekstbox hvis checkbox er checked/unchecked
- if (rejerFamilieCheckBox.Checked)
- {
- rejerFamilieAntalInput.Enabled = true;
- }
- else
- {
- rejerFamilieAntalInput.Enabled = false;
- }
- //Aktiver checkboxes for ekstra toppings hvis mindst en af almindelig og familie pizza er valgt.
- if (rejerAlmindeligCheckBox.Checked || rejerFamilieCheckBox.Checked)
- {
- rejerEkstraBox.Enabled = true;
- rejerKalorieBox.Enabled = true;
- }
- else
- {
- rejerEkstraBox.Enabled = false;
- rejerKalorieBox.Enabled = false;
- }
- }
- private void pepperoniAlmindeligCheckBox_CheckedChanged(object sender, EventArgs e)
- {
- //Aktiver/deaktiver tekstbox hvis checkbox er checked/unchecked
- if (pepperoniAlmindeligCheckBox.Checked)
- {
- pepperoniAlmindeligAntalInput.Enabled = true;
- }
- else
- {
- pepperoniAlmindeligAntalInput.Enabled = false;
- }
- //Aktiver groupBoxes for ekstra toppings hvis mindst en af almindelig og familie pizza er valgt.
- if (pepperoniAlmindeligCheckBox.Checked || pepperoniFamilieCheckBox.Checked)
- {
- pepperoniEkstraBox.Enabled = true;
- pepperoniKalorieBox.Enabled = true;
- }
- else
- {
- pepperoniEkstraBox.Enabled = false;
- pepperoniKalorieBox.Enabled = false;
- }
- }
- private void pepperoniFamilieCheckBox_CheckedChanged(object sender, EventArgs e)
- {
- //Aktiver/deaktiver tekstbox hvis checkbox er checked/unchecked
- if (pepperoniFamilieCheckBox.Checked)
- {
- pepperoniFamilieAntalInput.Enabled = true;
- }
- else
- {
- pepperoniFamilieAntalInput.Enabled = false;
- }
- //Aktiver groupBoxes for ekstra toppings & antal skiver, hvis mindst en af almindelig og familie pizza er valgt.
- if (pepperoniAlmindeligCheckBox.Checked || pepperoniFamilieCheckBox.Checked)
- {
- pepperoniEkstraBox.Enabled = true;
- pepperoniKalorieBox.Enabled = true;
- }
- else
- {
- pepperoniEkstraBox.Enabled = false;
- pepperoniKalorieBox.Enabled = false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement