Exemple #1
0
        protected List <Tilaus> LuoTilauksia()
        {
            List <Tilaus> tilaukset = new List <Tilaus>();
            Tilaus        tilaus    = new Tilaus();

            tilaus.Asiakas = new Asiakas();
            tilaus.Poyta   = new Poyta(1, 5, Varaustilanne.Varattu);
            var pihvi      = new Ateria(1, "Garlic Steak", 11.60, 0.14);
            var lehtipihvi = new Ateria(2, "Lehtipihvi lohkoperunoilla", 13.60, 0.14);

            tilaus.LisaaAteria(pihvi, 1);
            tilaus.LisaaAteria(lehtipihvi, 3);
            tilaukset.Add(tilaus);

            tilaus         = new Tilaus();
            tilaus.Asiakas = new Asiakas();
            tilaus.Poyta   = new Poyta(2, 4, Varaustilanne.Varattu);
            var salaatti    = new Ateria(1, "Kanasalaatti", 5.60, 0.14);
            var lehtipihvi2 = new Ateria(2, "250g pihvi ranskalaisilla", 13.00, 0.14);

            tilaus.LisaaAteria(salaatti, 1);
            tilaus.LisaaAteria(lehtipihvi2, 1);
            tilaukset.Add(tilaus);

            return(tilaukset);
        }
Exemple #2
0
        public void KuuluisiLisataTilaukselleTilausrivi()
        {
            var lihapullat = new Ateria(1, "Lihapullat ja muussi", 11.50, 0.14);

            tilaus.LisaaAteria(lihapullat, 1);
            List <Tilausrivi> tilausrivit = tilaus.Tilausrivit;
            Tilausrivi        rivi        = tilausrivit[0];

            Assert.AreEqual(1, rivi.Ateria.Id);
            Assert.AreEqual("Lihapullat ja muussi", rivi.Ateria.Nimi);
            Assert.AreEqual(11.50, rivi.Ateria.VerotonHinta, 0.01);
            Assert.AreEqual(1, rivi.Maara);

            var nakit = new Ateria(2, "Lihapullat ja nakit", 11.60, 0.14);

            tilaus.LisaaAteria(nakit, 3);

            List <Tilausrivi> ateriat2 = tilaus.Tilausrivit;
            Tilausrivi        rivi2    = ateriat2[1];

            Assert.AreEqual(2, ateriat2.Count);
            Assert.AreEqual("Lihapullat ja nakit", rivi2.Ateria.Nimi);
            Assert.AreEqual(11.60, rivi2.Ateria.VerotonHinta, 0.01);
            Assert.AreEqual(3, rivi2.Maara);
        }
Exemple #3
0
        public void KuuluisiLaskeaKokonaishintaTilaukselleKunSisaltaaYhdenAterian()
        {
            var ateria = new Ateria(1, "Chicken Wings", 11.50, 0.14);

            tilaus.LisaaAteria(ateria, 1);
            Assert.AreEqual(13.11, tilaus.LaskeVerollinenKokonaishinta(), 0.01);
            Assert.AreEqual(11.50, tilaus.LaskeVerotonKokonaishinta(), 0.01);
        }
Exemple #4
0
        public void KuuluisiLaskeaKokonaishintaTilaukselleKunYhdenAterianMaaraOnUseitaKappaleita()
        {
            var ateria = new Ateria(1, "Chicken Wings", 11.50, 0.14);

            tilaus.LisaaAteria(ateria, 3);
            Assert.AreEqual(39.33, tilaus.LaskeVerollinenKokonaishinta(), 0.01);
            Assert.AreEqual(34.50, tilaus.LaskeVerotonKokonaishinta(), 0.01);
        }
Exemple #5
0
        public void KuuluisiLaskeaKokonaishintaTilaukselleKunKyseessaBonusasiakas()
        {
            var ateria = new Ateria(1, "Chicken Wings", 11.50, 0.14);

            tilaus.LisaaAteria(ateria, 3);
            tilaus.Asiakas = new BonusAsiakas();
            Assert.AreEqual(33.43, tilaus.LaskeVerollinenKokonaishinta(), 0.01);
            Assert.AreEqual(29.32, tilaus.LaskeVerotonKokonaishinta(), 0.01);
        }
Exemple #6
0
 void PoistaAteriaButton_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < AteriatDataGridView.SelectedRows.Count; i++)
     {
         DataGridViewRow rivi = AteriatDataGridView.SelectedRows[i];
         AteriatDataGridView.Rows.Remove(rivi);
         Ateria ateria = (Ateria)rivi.Tag;
         tilaus.PoistaAteria(ateria);
     }
 }
        /// <summary>
        /// List<Ateria> HaeKaikki()
        ///
        /// Metodi palauttaa kaikki ateriat tietokannasta (Hashtable)
        /// listana, joka sisältää Ateria-luokan olioita.
        /// </summary>
        /// <returns></returns>
        public override List <Ateria> HaeKaikki()
        {
            List <Ateria> kaikkiAteriat = new List <Ateria>();

            for (int i = 1; i <= ateriat.Count; i++)
            {
                Ateria ateria = (Ateria)ateriat[i];
                kaikkiAteriat.Add(ateria);
            }
            return(kaikkiAteriat);
        }
Exemple #8
0
        void AteriatDataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                Ateria ateria = (Ateria)AteriatDataGridView.Rows[e.RowIndex].Tag;
                int    maara  = int.Parse(AteriatDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
                tilaus.VaihdaAteriaMaara(ateria, maara);

                LaskeKokonaishintaJaEtupisteet();
            }
        }
Exemple #9
0
        protected Tilaus LuoTilaus(string aterianNimi = "Garlic Steak")
        {
            Tilaus tilaus = new Tilaus();

            tilaus.Asiakas = new Asiakas();
            tilaus.Poyta   = new Poyta(1, 5, Varaustilanne.Varattu);
            var pihvi = new Ateria(1, aterianNimi, 11.60, 0.14);

            tilaus.LisaaAteria(pihvi, 1);
            return(tilaus);
        }
Exemple #10
0
        public void KuuluisiTallentaaTilausTiedostojarjestelmaan()
        {
            // Luodaan uusi tiedostojärjestelmää käsittelevä luokka.
            tilausDb = new FileSystemTilausDb(tietokannanPolku);

            // Haetaan tilaukset ja tilauksia ei kuulu olla yhtään.
            List <Tilaus> tilaukset = tilausDb.HaeKaikki();

            Assert.AreEqual(0, tilaukset.Count);

            // Lisätään tilauksia ja haetaan jälleen kerran kaikki tilaukset.
            // Tilauksia kuuluisi olla lisätty määrä.
            foreach (Tilaus tilaus in LuoTilauksia())
            {
                tilausDb.Uusi(tilaus);
            }
            tilaukset = tilausDb.HaeKaikki();
            Assert.AreEqual(2, tilaukset.Count);

            // Tarkistetaan viimeisen tilauksen tietoja äsken lisätyistä.
            Tilaus viimeinenTilaus = tilaukset.LastOrDefault();

            Assert.AreEqual(tilausDb.SeuraavaId - 1, viimeinenTilaus.Tilausnumero);
            Tilausrivi tilausrivi = viimeinenTilaus.Tilausrivit[0];

            Assert.AreEqual("Kanasalaatti", tilausrivi.Ateria.Nimi);

            // Luodaan uusi tilaus ja tarkistetaan tallentuiko oikein.
            // Tarkistetaan luodun tilauksen tietoja.
            tilausDb.Uusi(LuoTilaus("Pihvi, aterian tallennus testi"));
            tilaukset       = tilausDb.HaeKaikki();
            viimeinenTilaus = tilaukset.LastOrDefault();
            tilausrivi      = viimeinenTilaus.Tilausrivit[0];
            Ateria ateria = tilausrivi.Ateria;

            Assert.AreEqual("Pihvi, aterian tallennus testi", ateria.Nimi);

            // Yritetään hakea tuntematon tilaus eli tilaus, jota
            // tietokannassa ei ole.
            Tilaus tuntematonTilaus = tilausDb.Hae(99);

            Assert.IsNull(tuntematonTilaus);

            // Haetaan yksittäinen tilaus tunnisteella ja tarkistetaan
            // löydetyn tilauksen tietoja.
            Tilaus loytynytTilaus = tilausDb.Hae(1);

            Assert.IsNotNull(loytynytTilaus);
            Assert.IsNotNull(loytynytTilaus.Asiakas);
            Assert.IsNotNull(loytynytTilaus.Poyta);
            Assert.AreEqual(1, loytynytTilaus.Tilausnumero);
            Assert.AreEqual(2, loytynytTilaus.Tilausrivit.Count);
        }
Exemple #11
0
        public void KuuluisiLaskeaKokonaishintaTilaukselleKunSisaltaaUseanAterian()
        {
            var ateria = new Ateria(1, "Chicken Wings", 11.50, 0.14);

            tilaus.LisaaAteria(ateria, 1);

            ateria = new Ateria(2, "Cheese Burger", 9.70, 0.14);
            tilaus.LisaaAteria(ateria, 1);

            Assert.AreEqual(24.17, tilaus.LaskeVerollinenKokonaishinta(), 0.01);
            Assert.AreEqual(21.20, tilaus.LaskeVerotonKokonaishinta(), 0.01);
        }
        public override void KuuluisiLuodaUusiTilaus()
        {
            var tilaus = LuoTilaus("Pihvi, aterian tallennus testi");

            tilausDb.Uusi(tilaus);

            var        tilaukset       = tilausDb.HaeKaikki();
            Tilaus     viimeinenTilaus = tilaukset.LastOrDefault();
            Tilausrivi tilausrivi      = (Tilausrivi)viimeinenTilaus.Tilausrivit[0];
            Ateria     ateria          = (Ateria)tilausrivi.Ateria;

            Assert.AreEqual("Pihvi, aterian tallennus testi", ateria.Nimi);
        }
Exemple #13
0
 void LisaaAteriaButton_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < AteriatListView.SelectedItems.Count; i++)
     {
         Ateria          ateria = (Ateria)AteriatListView.SelectedItems[i].Tag;
         DataGridViewRow rivi   = new DataGridViewRow();
         rivi.CreateCells(AteriatDataGridView);
         rivi.Tag = ateria;
         rivi.SetValues(ateria.Nimi, (ateria.VerotonHinta * (1 + ALV)).ToString("C2"), 0);
         AteriatDataGridView.Rows.Add(rivi);
         tilaus.LisaaAteria(ateria, 0);
     }
 }
        public void KuuluisiHakeaAteriaTunnisteella()
        {
            Ateria ateria = ateriaDb.Hae(3);

            Assert.That(ateria, Is.Not.Null);
            Assert.AreEqual(3, ateria.Id);
            Assert.AreEqual("Siikaa ja jokirapua", ateria.Nimi);
            Assert.AreEqual(17, ateria.VerotonHinta, 0.01);

            Ateria ateria2 = ateriaDb.Hae(7);

            Assert.That(ateria2, Is.Not.Null);
            Assert.AreEqual(7, ateria2.Id);
            Assert.AreEqual("Munakoisoa, paprikaa ja pinjansiementä", ateria2.Nimi);
            Assert.AreEqual(27, ateria2.VerotonHinta, 0.01);
        }
Exemple #15
0
        public void KuuluisiMuuttaaTilausrivienAterioidenMaaraa()
        {
            var lihapullat = new Ateria(1, "Lihapullat ja muussi", 11.50, 0.14);

            tilaus.LisaaAteria(lihapullat, 1);
            var nakit = new Ateria(3, "Lihapullat ja nakit", 11.60, 0.14);

            tilaus.LisaaAteria(nakit, 2);
            var soppa = new Ateria(5, "Nakkisoppa", 8.50, 0.14);

            tilaus.LisaaAteria(soppa, 2);

            tilaus.VaihdaAteriaMaara(nakit, 1);
            Tilausrivi tilausrivi = (Tilausrivi)tilaus.Tilausrivit[1];

            Assert.AreEqual(1, tilausrivi.Maara);
            Assert.AreEqual(3, tilausrivi.Ateria.Id);
        }
Exemple #16
0
        public void KuuluisiPoistaaTilauksestaTilausrivi()
        {
            var lihapullat = new Ateria(1, "Lihapullat ja muussi", 11.50, 0.14);

            tilaus.LisaaAteria(lihapullat, 1);
            var nakit = new Ateria(3, "Lihapullat ja nakit", 11.60, 0.14);

            tilaus.LisaaAteria(nakit, 2);
            Assert.AreEqual(2, tilaus.Tilausrivit.Count);

            tilaus.PoistaAteria(lihapullat);
            Assert.AreEqual(1, tilaus.Tilausrivit.Count);

            Tilausrivi tilausrivi = (Tilausrivi)tilaus.Tilausrivit[0];

            Assert.AreEqual(2, tilausrivi.Maara);
            Assert.AreEqual(3, tilausrivi.Ateria.Id);
            Assert.AreEqual("Lihapullat ja nakit", tilausrivi.Ateria.Nimi);
        }
Exemple #17
0
        public void KuuluisiLaskeaVerollinenHinta()
        {
            Ateria ateria = new Ateria(1, "Lihapullia ja mummon muussia", 23.25, 0.14);

            Assert.AreEqual(26.50, ateria.LaskeVerollinenHinta(), 0.01);
        }