Beispiel #1
0
        // tallennetaan uusi tilaus tilauskantaan
        // tarkistaa automaattisesti suurimman seuraavan vapaan tilausnumeron
        public void TallennaTilaus(List <Tilaus> ptilaukset, Tilaus uusitilaus)
        {
            //apumuuttuja
            double loppusumma = 0;

            uusitilaus.tilausnro = VapaaTilausnumero(ptilaukset);

            // lasketaan loppusumma
            for (int i = 0; i < uusitilaus.tilausrivit.Count; i++)
            {
                //loppusummaan lisätään tilausrivin a-hinta kertaa tilausrivin määrä
                loppusumma = loppusumma + (uusitilaus.tilausrivit[i].ahinta * uusitilaus.tilausrivit[i].maara);
            }
            // loppusumma tilaukselle kahdella desimaalilla
            uusitilaus.loppusumma = Math.Round(loppusumma, 2);

            // lasketaan veroton summa kahdella desimaalilla
            uusitilaus.loppusummaveroton = Math.Round(uusitilaus.loppusumma / verokerroin, 2);

            // veron osuus, verollinen miinus veroton
            uusitilaus.loppusummanvero = uusitilaus.loppusumma - uusitilaus.loppusummaveroton;

            // haetaan aikaleima tilaukselle
            aikaleima = DateTime.Now;

            // lisätään tilauslistaan
            ptilaukset.Add(uusitilaus);
        }
Beispiel #2
0
        // tallennetaan uusi tilaus tilauskantaan
        // tarkistaa automaattisesti suurimman seuraavan vapaan tilausnumeron
        public void TallennaTilaus(List<Tilaus> ptilaukset, Tilaus uusitilaus)
        {
            //apumuuttuja
            double loppusumma = 0;

            uusitilaus.tilausnro = VapaaTilausnumero(ptilaukset);

            // lasketaan loppusumma
            for (int i = 0; i < uusitilaus.tilausrivit.Count; i++)
            {
                //loppusummaan lisätään tilausrivin a-hinta kertaa tilausrivin määrä
                loppusumma = loppusumma + (uusitilaus.tilausrivit[i].ahinta * uusitilaus.tilausrivit[i].maara);
            }
            // loppusumma tilaukselle kahdella desimaalilla
            uusitilaus.loppusumma = Math.Round(loppusumma, 2);

            // lasketaan veroton summa kahdella desimaalilla
            uusitilaus.loppusummaveroton = Math.Round(uusitilaus.loppusumma / verokerroin, 2);

            // veron osuus, verollinen miinus veroton
            uusitilaus.loppusummanvero = uusitilaus.loppusumma - uusitilaus.loppusummaveroton;

            // haetaan aikaleima tilaukselle
            aikaleima = DateTime.Now;

            // lisätään tilauslistaan
            ptilaukset.Add(uusitilaus);
        }
Beispiel #3
0
        // Tallennetaan tietokanta kun ohjelma sulkeutuu
        private void Saliavustaja_FormClosed(object sender, FormClosedEventArgs e)
        {
            // instanssi jotta voidaan kutsua Tilaus luokan metodia
            Tilaus tilaushallinta = new Tilaus();

            // tietokannan tallennus, jos virhe niin ilmoitetaan käyttäjälle
            // tilanteesta ei ole paluuta takaisin
            if ((tilaushallinta.TallennaTilauskanta(tilauskanta, tietokanta)) == false)
            {
                MessageBox.Show(Path.GetFullPath(tietokanta) +
                                "\nVirhe tietokannan tallentamisessa, tiedot menetetään..", "Virhe");
            }
        }
Beispiel #4
0
        // metodi suoritetaan kun ohjelma avautuu
        private void Saliavustaja_Load(object sender, EventArgs e)
        {
            // instanssi jotta voidaan kutsua Tilaus luokan metodia
            Tilaus tilaushallinta = new Tilaus();

            // ohjelman avauksessa ei ole uutta tilausta auki
            TilausKesken = false;
            TyhjennaTilaus();
            OhjelmanTila();

            // jos tietokantatiedosto löytyy niin yritetään ladata
            if (File.Exists(tietokanta))
            {
                try
                {
                    using (Stream tiedosto = File.Open(tietokanta, FileMode.Open))
                    {
                        BinaryFormatter bin = new BinaryFormatter();

                        tilauskanta = (List <Tilaus>)bin.Deserialize(tiedosto);
                    }
                }
                // jos tiedostovirhe, palautetaan false
                catch (IOException)
                {
                    MessageBox.Show(Path.GetFullPath(tietokanta) +
                                    "\nVirhe tietokannan lataamisessa, lopetetaan!", "Virhe");
                    this.Close();
                }
                // jos datassa on virhe, palautetaan false
                catch (SerializationException)
                {
                    MessageBox.Show(Path.GetFullPath(tietokanta) +
                                    "\nVirhe tietokannan lataamisessa, lopetetaan!", "Virhe");
                    this.Close();
                }
            }

            // tilauslista refresh
            TilauksetRefresh();
            // tilauslista selection pois
            TilauksetLtk.ClearSelection();

            // ikkunan otsikko
            this.Text = ohjelmanNimi;
        }
Beispiel #5
0
        // muuntaa tilausrivit laatikosta Tilaus objektiin
        private bool MuunnaTilausRivit(Tilaus ptilaus)
        {
            if (TilausKesken == true)
            {
                // muunnetaan rivit
                for (int i = 0; i < TilausRivitLtk.Rows.Count; i++)
                {
                    // apumuuttujat, vain loopissa olemassa
                    double ahinta = 0;
                    double maara  = 0;

                    // muodostetaan instanssi uudelle riville
                    Tilausrivi uusirivi = new Tilausrivi();


                    // haetaan ahinta laatikosta, muunnetaan teksti luvuksi apumuuttujaan
                    if (Double.TryParse(TilausRivitLtk.Rows[i].Cells[1].Value.ToString(), out ahinta) == false)
                    {
                        // jos lukumuunnoksessa virhe, palautetaan heti false
                        return(false);
                    }

                    // haetaan määrä laatikosta, muunnetaan teksti luvuksi apumuuttujaan
                    if (Double.TryParse(TilausRivitLtk.Rows[i].Cells[2].Value.ToString(), out maara) == false)
                    {
                        // jos lukumuunnoksessa virhe, palautetaan heti false
                        return(false);
                    }

                    // asetetaan arvot rivi objektiin
                    uusirivi.tuote  = TilausRivitLtk.Rows[i].Cells[0].Value.ToString();
                    uusirivi.ahinta = ahinta;
                    uusirivi.maara  = maara;

                    // lisätään uusi rivi tilaukselle
                    ptilaus.tilausrivit.Add(uusirivi);
                }

                // muunnos onnistui
                return(true);
            }

            // ei tehty mitään, palautetaan false
            return(false);
        }
Beispiel #6
0
        // tilauksen tallennus tilauskantaan
        private void LisaaTilausButton_Click(object sender, EventArgs e)
        {
            if (TilausKesken == true)
            {
                // instanssi tilaukselle
                Tilaus uusitilaus = new Tilaus();

                if (MuunnaTilausRivit(uusitilaus) == false)
                {
                    MessageBox.Show("Loppusummaa ei voitu laskea\nTarkista rivit!", "Virhe!");

                    // jos virhe, palataan metodista heti
                    return;
                }

                // tarkistetaan että on valittu pöytä
                if (ValitsePoytaValikko.Text == "")
                {
                    MessageBox.Show("Pöytää ei ole valittu!", "Virhe!");

                    // jos virhe, palataan metodista heti
                    return;
                }
                else
                {
                    uusitilaus.poyta = ValitsePoytaValikko.Text;
                }

                // tallennetaan tilaus tilauskantaan
                uusitilaus.TallennaTilaus(tilauskanta, uusitilaus);

                // refresh tilauslista
                TilauksetRefresh();
                // tilauslistan selection pois
                TilauksetLtk.ClearSelection();

                // tyhjennetään tilausrivit
                TilausKesken = false;
                TyhjennaTilaus();
                OhjelmanTila();
            }
        }
Beispiel #7
0
        // metodi suoritetaan kun ohjelma avautuu
        private void Saliavustaja_Load(object sender, EventArgs e)
        {
            // instanssi jotta voidaan kutsua Tilaus luokan metodia
            Tilaus tilaushallinta = new Tilaus();

            // ohjelman avauksessa ei ole uutta tilausta auki
            TilausKesken = false;
            TyhjennaTilaus();
            OhjelmanTila();

            // jos tietokantatiedosto löytyy niin yritetään ladata
            if (File.Exists(tietokanta))
            {
                try
                {
                    using (Stream tiedosto = File.Open(tietokanta, FileMode.Open))
                    {
                        BinaryFormatter bin = new BinaryFormatter();

                        tilauskanta = (List<Tilaus>)bin.Deserialize(tiedosto);
                    }
                }
                // jos tiedostovirhe, palautetaan false
                catch (IOException)
                {
                    MessageBox.Show(Path.GetFullPath(tietokanta) +
                    "\nVirhe tietokannan lataamisessa, lopetetaan!", "Virhe");
                    this.Close();
                }
                // jos datassa on virhe, palautetaan false
                catch (SerializationException)
                {
                    MessageBox.Show(Path.GetFullPath(tietokanta) +
                    "\nVirhe tietokannan lataamisessa, lopetetaan!", "Virhe");
                    this.Close();
                }
            }

            // tilauslista refresh
            TilauksetRefresh();
            // tilauslista selection pois
            TilauksetLtk.ClearSelection();

            // ikkunan otsikko
            this.Text = ohjelmanNimi;
        }
Beispiel #8
0
        // Tallennetaan tietokanta kun ohjelma sulkeutuu
        private void Saliavustaja_FormClosed(object sender, FormClosedEventArgs e)
        {
            // instanssi jotta voidaan kutsua Tilaus luokan metodia
            Tilaus tilaushallinta = new Tilaus();

            // tietokannan tallennus, jos virhe niin ilmoitetaan käyttäjälle
            // tilanteesta ei ole paluuta takaisin
            if ((tilaushallinta.TallennaTilauskanta(tilauskanta, tietokanta)) == false)
            {
                    MessageBox.Show(Path.GetFullPath(tietokanta) +
                    "\nVirhe tietokannan tallentamisessa, tiedot menetetään..", "Virhe");
            }
        }
Beispiel #9
0
        // muuntaa tilausrivit laatikosta Tilaus objektiin
        private bool MuunnaTilausRivit(Tilaus ptilaus)
        {
            if (TilausKesken == true)
            {
                // muunnetaan rivit
                for (int i = 0; i < TilausRivitLtk.Rows.Count; i++)
                {
                    // apumuuttujat, vain loopissa olemassa
                    double ahinta = 0;
                    double maara = 0;

                    // muodostetaan instanssi uudelle riville
                    Tilausrivi uusirivi = new Tilausrivi();

                    // haetaan ahinta laatikosta, muunnetaan teksti luvuksi apumuuttujaan
                    if (Double.TryParse(TilausRivitLtk.Rows[i].Cells[1].Value.ToString(), out ahinta) == false)
                    {
                        // jos lukumuunnoksessa virhe, palautetaan heti false
                        return false;
                    }

                    // haetaan määrä laatikosta, muunnetaan teksti luvuksi apumuuttujaan
                    if (Double.TryParse(TilausRivitLtk.Rows[i].Cells[2].Value.ToString(), out maara) == false)
                    {
                        // jos lukumuunnoksessa virhe, palautetaan heti false
                        return false;
                    }

                    // asetetaan arvot rivi objektiin
                    uusirivi.tuote = TilausRivitLtk.Rows[i].Cells[0].Value.ToString();
                    uusirivi.ahinta = ahinta;
                    uusirivi.maara = maara;

                    // lisätään uusi rivi tilaukselle
                    ptilaus.tilausrivit.Add(uusirivi);
                }

                // muunnos onnistui
                return true;
            }

            // ei tehty mitään, palautetaan false
            return false;
        }
Beispiel #10
0
        // tilauksen tallennus tilauskantaan
        private void LisaaTilausButton_Click(object sender, EventArgs e)
        {
            if(TilausKesken == true)
            {
                // instanssi tilaukselle
                Tilaus uusitilaus = new Tilaus();

                if(MuunnaTilausRivit(uusitilaus) == false)
                {
                    MessageBox.Show("Loppusummaa ei voitu laskea\nTarkista rivit!", "Virhe!");

                    // jos virhe, palataan metodista heti
                    return;
                }

                // tarkistetaan että on valittu pöytä
                if (ValitsePoytaValikko.Text == "")
                {
                    MessageBox.Show("Pöytää ei ole valittu!", "Virhe!");

                    // jos virhe, palataan metodista heti
                    return;
                }
                else uusitilaus.poyta = ValitsePoytaValikko.Text;

                // tallennetaan tilaus tilauskantaan
                uusitilaus.TallennaTilaus(tilauskanta, uusitilaus);

                // refresh tilauslista
                TilauksetRefresh();
                // tilauslistan selection pois
                TilauksetLtk.ClearSelection();

                // tyhjennetään tilausrivit
                TilausKesken = false;
                TyhjennaTilaus();
                OhjelmanTila();
            }
        }