} //Zobraz nejlevnější

        private void cenaZaWattToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedItem != null) //Pokud byl vybrát reproduktor
            {
                Reproduktor rep = (Reproduktor)listBox1.SelectedItem;
                MessageBox.Show("Jeden watt stojí: " + rep.CenaZaWatt().ToString()); //Zavolá metodu která vypočítá cenu za watt a zobrazí
            }
        } //Zavolá metodu CenaZaWatt
        public DetailForm(Reproduktor rep, string hlavicka)
        {
            InitializeComponent();

            string[] header = hlavicka.Split(';'); // vezmeme data z hlavičky
            foreach (string item in header)
            {
                dataGridView1.Columns.Add(item, item);
            } //vytvoříme columns
            string[] data = rep.ObjektNaCSVradek().Split(';');
            dataGridView1.Rows.Add(data); //přidáme řádky
        }
        string hlavicka;                                                              //hlavicka v csv dokumentu

        private string ZapisStatistiku()
        {
            int         bezdrat  = listReproduktoru.Count(x => x.bluetooth == "ano");                                                  // spočítá reproduktory s bluetooth
            Reproduktor maxVykon = listReproduktoru.Where(x => x.Vykon == listReproduktoru.Max(x2 => x2.Vykon)).First();               // vybere reproduktor s max výkonem
            Reproduktor nejCena  = listReproduktoru.Where(x => x.CenaZaWatt() == listReproduktoru.Min(x2 => x2.CenaZaWatt())).First(); // vybere reproduktor s nejlepší cenou za watt

            string statistika = "Statistika" + Environment.NewLine;

            statistika += "Na skladě je celkem reproduktorů " + listReproduktoru.Count + ", z toho bezdrátových " + bezdrat + Environment.NewLine;
            statistika += "Největší výkon mají reproduktory od společnosti " + maxVykon.vyrobce + " nazvané " + maxVykon.nazev + Environment.NewLine;
            statistika += "Nejlepší cenu za jeden watt výkonu mají reproduktory od společnosti " + nejCena.vyrobce + " s názvem " + nejCena.nazev;
            return(statistika); // naskládá do proměnný data a pošle
        } // tato metoda nám vrátí string proměnnou se statistikou
 private void editovatProduktToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (listBox1.SelectedItem != null) //Ověří, jestli je vybranej nějaký produkt
     {
         Reproduktor rep  = (Reproduktor)listBox1.SelectedItem;
         EditForm    form = new EditForm(rep); // vytvoří instanci a pošle jí do formo
         if (form.ShowDialog() == DialogResult.OK)
         {
             UpdateView(); // update listbox
         }
     }
     else
     {
         MessageBox.Show("Vyberte produkt!");
     }
 } //Edit reproduktoru
        } //Zavolá metodu ZobrazBezdratove

        private void zobrazNejlevnějšíToolStripMenuItem_Click(object sender, EventArgs e)
        {
            List <Reproduktor> rep2_list  = listReproduktoru.Where(x => x.typSoustavy == "2.0").ToList();
            List <Reproduktor> rep21_list = listReproduktoru.Where(x => x.typSoustavy == "2.1").ToList();
            List <Reproduktor> rep51_list = listReproduktoru.Where(x => x.typSoustavy == "5.1").ToList();

            //Vytvoří list s příslušným typem soustavy

            Reproduktor rep2  = rep2_list.Where(x => x.cena == rep2_list.Min(x2 => x2.cena)).First();
            Reproduktor rep21 = rep21_list.Where(x => x.cena == rep21_list.Min(x2 => x2.cena)).First();
            Reproduktor rep51 = rep51_list.Where(x => x.cena == rep51_list.Min(x2 => x2.cena)).First();

            // z příslušnýho typu soustavy zobrazí nejlevnější. Asi by to šlo pouze do tří řádků, ale takovej machr nejsem. Power of linq

            MessageBox.Show("Reproduktor 2.0: " + rep2.vyrobce + "\t" + rep2.nazev + Environment.NewLine +
                            "Reproduktor 2.1: " + rep21.vyrobce + "\t" + rep21.nazev + Environment.NewLine +
                            "Reproduktor 5.1: " + rep51.vyrobce + "\t" + rep51.nazev); //Vypíše
        } //Zobraz nejlevnější
Ejemplo n.º 6
0
        public EditForm(Reproduktor rep)
        {
            InitializeComponent();
            this.rep = rep;

            comboBox1.SelectedIndex = comboBox1.FindStringExact(rep.typSoustavy); //zjistí typ soustavy, podle toho nastaví
            comboBox1.Enabled       = false;
            if (comboBox1.SelectedIndex == 0)
            {
                txtFL.Text = (rep as Reproduktor2).fl.ToString();
                txtFR.Text = (rep as Reproduktor2).fr.ToString();
            } //pokud 2.0
            else if (comboBox1.SelectedIndex == 1)
            {
                txtFL.Text        = (rep as Reproduktor21).fl.ToString();
                txtFR.Text        = (rep as Reproduktor21).fr.ToString();
                txtSubwoofer.Text = (rep as Reproduktor21).subwoofer.ToString();
            } //pokud 2.1
            else
            {
                txtFL.Text        = (rep as Reproduktor51).fl.ToString();
                txtFR.Text        = (rep as Reproduktor51).fr.ToString();
                txtSubwoofer.Text = (rep as Reproduktor51).subwoofer.ToString();
                txtRL.Text        = (rep as Reproduktor51).rl.ToString();
                txtRR.Text        = (rep as Reproduktor51).rr.ToString();
                txtCenter.Text    = (rep as Reproduktor51).center.ToString();
            } //pokud 5.1

            txtVyrobce.Text         = rep.vyrobce;
            txtNazev.Text           = rep.nazev;
            txtCena.Text            = rep.cena.ToString();
            comboBox2.SelectedIndex = comboBox2.FindStringExact(rep.bluetooth); //nastaví bluetooth


            btnCreate.Text = "Editovat";
            //Načte do textboxů a změní tlačítko, protože se bude editovat.
        }