private void ZamawiamKoszyk(int ja)
        {
            rozpoznawanieMowy.czyscSlownik();//przed rozpoznawaniem czyscimy slownik
            rozpoznawanieMowy.dodajSlowa(new string[] { "Wyjdź", "Powtórz" });
            rozpoznawanieMowy.dodajSlowa(new string[] { "Procesor", "Dysk Twardy", "Pamięć RAM", "Koniec" });
            Historia = Visibility.Visible;
            //dodanie obsługi udanego rozpoznania
            rozpoznawanieMowy.SRE.SpeechRecognized += (object sender, SpeechRecognizedEventArgs e) => {
                if (string.Compare(e.Result.Text, "Wyjdź") == 0)
                {
                    stanRozmowy = StanyRozmowy.Pozegnanie;
                }
                else if (string.Compare(e.Result.Text, "Powtórz") == 0)
                {
                    stanRozmowy = (StanyRozmowy)ja;
                }
                else
                {
                    if (string.Compare("Koniec", e.Result.Text) == 0)
                    {
                        Powiedz("Dziękujemy, towary niedługo zostaną wydane");
                        new DodajDoBazy().dodajZamowienie(ListaZamowien, new CzytajZBazy().pobierzIDKlienta(uzytkownik.imie));
                        new AktualizacjaBazyDanych().aktualizujDane(ListaZamowien);
                        Historia    = Visibility.Hidden;
                        stanRozmowy = StanyRozmowy.WyborTrybu;
                    }
                    else if (string.Compare(e.Result.Text, "Procesor") == 0)
                    {
                        Powiedz("Wybrales kupno procesora");
                        stanRozmowy = StanyRozmowy.WyborProcesora;
                    }
                    else if (string.Compare(e.Result.Text, "Dysk Twardy") == 0)
                    {
                        Powiedz("Wybrales kupno dysku twardego");
                        stanRozmowy = StanyRozmowy.WyborDysku;
                    }
                    else if (string.Compare(e.Result.Text, "Pamięć RAM") == 0)
                    {
                        Powiedz("Wybrales kupno pamieci ram");
                        stanRozmowy = StanyRozmowy.WyborRAMu;
                    }
                }
            };

            //dodanie obsługi jak się nie udało rozpoznać usera
            rozpoznawanieMowy.SRE.SpeechRecognitionRejected += (object sender, SpeechRecognitionRejectedEventArgs e) => {
                odpowiedzSystemu = parserXML.parsuj("NieRozpoznano.vxml");
                Powiedz(odpowiedzSystemu.Prompt);
                stanRozmowy = (StanyRozmowy)ja;
            };

            Powiedz("Posiadasz w koszyku " + listaZamowien.Count + " zamówień. Chciałbyś zamowić dysk twardy," +
                    " procesor czy Pamięć ram? Jeśli byś chciał zakończyć kupowanie powiedz koniec");

            rozpoznawanieMowy.rozpoznajSlowoZeSlownika();//rozpoznaj slowo
        }
        private void PobierzHaslo()
        {
            rozpoznawanieMowy.czyscSlownik();//przed rozpoznawaniem czyscimy slownik
            rozpoznawanieMowy.dodajSlowa(new string[] { "Wyjdź", "Powtórz" });
            foreach (Uzytkownik user in userzy)
            {
                rozpoznawanieMowy.dodajSlowa(user.haslo);
            }
            //rozpoznawanieMowy.dodajSlowa(uzytkownik.haslo);//czytaj hasla z bazy danych

            //dodanie obsługi udanego rozpoznania
            rozpoznawanieMowy.SRE.SpeechRecognized += (object sender, SpeechRecognizedEventArgs e) => {
                if (string.Compare(e.Result.Text, "Wyjdź") == 0)
                {
                    stanRozmowy = StanyRozmowy.Pozegnanie;
                }
                else if (string.Compare(e.Result.Text, "Powtórz") == 0)
                {
                    stanRozmowy = StanyRozmowy.ZapytanieOHaslo;
                }
                else
                {
                    if (string.Compare(uzytkownik.haslo, e.Result.Text) == 0)
                    {
                        odpowiedzSystemu = parserXML.parsuj("HasloOk.vxml");
                        Powiedz(odpowiedzSystemu.Prompt);
                        stanRozmowy = StanyRozmowy.WyborTrybu;
                    }
                    else
                    {
                        odpowiedzSystemu = parserXML.parsuj("HasloNieOk.vxml");
                        Powiedz(odpowiedzSystemu.Prompt);
                        stanRozmowy = StanyRozmowy.BledneHaslo;
                    }
                }
            };

            //dodanie obsługi jak się nie udało rozpoznać
            rozpoznawanieMowy.SRE.SpeechRecognitionRejected += (object sender, SpeechRecognitionRejectedEventArgs e) => {
                odpowiedzSystemu = parserXML.parsuj("NieRozpoznano.vxml");
                Powiedz(odpowiedzSystemu.Prompt);
                stanRozmowy = StanyRozmowy.NieRozpoznaneHaslo;//ustawienie stanu rozmowy
                Debug.WriteLine("Nie rozpoznano usera " + e.ToString());
            };

            //rozpoznawanieMowy.SRE.

            odpowiedzSystemu = parserXML.parsuj("ZapytajHaslo.vxml");
            Powiedz("Witaj " + uzytkownik.imie + " " + odpowiedzSystemu.Prompt);
            rozpoznawanieMowy.rozpoznajSlowoZeSlownika();//rozpoznaj slowo
        }
        private void WyborTrybu(int ja)
        {
            ListaZamowien = new ObservableCollection <PozycjaZamowienia>();
            ListaSprzetu  = new ObservableCollection <Sprzet>();
            Debug.WriteLine("Wybor trybu");
            rozpoznawanieMowy.czyscSlownik();//przed rozpoznawaniem czyscimy slownik
            rozpoznawanieMowy.dodajSlowa(new string[] { "Wyjdź", "Powtórz" });

            rozpoznawanieMowy.dodajSlowa("Nowe");
            rozpoznawanieMowy.dodajSlowa("Historia");

            //dodanie obsługi udanego rozpoznania
            rozpoznawanieMowy.SRE.SpeechRecognized += (object sender, SpeechRecognizedEventArgs e) => {
                if (string.Compare(e.Result.Text, "Wyjdź") == 0)
                {
                    stanRozmowy = StanyRozmowy.Pozegnanie;
                }
                else if (string.Compare(e.Result.Text, "Powtórz") == 0)
                {
                    stanRozmowy = (StanyRozmowy)ja;
                }
                else
                {
                    if (string.Compare("Nowe", e.Result.Text) == 0)
                    {
                        odpowiedzSystemu = parserXML.parsuj("NoweZamowienie.vxml");
                        Powiedz(odpowiedzSystemu.Prompt);
                        stanRozmowy = StanyRozmowy.NoweZamowienie;
                    }
                    else if (string.Compare("Historia", e.Result.Text) == 0)
                    {
                        odpowiedzSystemu = parserXML.parsuj("HistoriaZamowien.vxml");
                        Powiedz(odpowiedzSystemu.Prompt);
                        stanRozmowy = StanyRozmowy.HistoriaZamowien;
                    }
                }
            };

            //dodanie obsługi jak się nie udało rozpoznać usera
            rozpoznawanieMowy.SRE.SpeechRecognitionRejected += (object sender, SpeechRecognitionRejectedEventArgs e) => {
                odpowiedzSystemu = parserXML.parsuj("NieRozpoznano.vxml");
                Powiedz(odpowiedzSystemu.Prompt);
                stanRozmowy = (StanyRozmowy)ja;
            };

            odpowiedzSystemu = parserXML.parsuj("WyborTrybu.vxml");
            Powiedz(odpowiedzSystemu.Prompt);
            rozpoznawanieMowy.rozpoznajSlowoZeSlownika();//rozpoznaj slowo
        }
        private void WyborLiczbySztuk(int ja)
        {
            rozpoznawanieMowy.czyscSlownik();//przed rozpoznawaniem czyscimy slownik
            rozpoznawanieMowy.dodajSlowa(new string[] { "Wyjdź", "Powtórz" });

            for (int i = 1; i <= new CzytajZBazy().pobierzSprzet(wybranySprzet.sprzet.idSprzetu).iloscSztuk; i++)
            {
                rozpoznawanieMowy.dodajSlowa(i + ""); //czyta jedno zamiast 1, lel
            }
            //dodanie obsługi udanego rozpoznania
            rozpoznawanieMowy.SRE.SpeechRecognized += (object sender, SpeechRecognizedEventArgs e) => {
                if (string.Compare(e.Result.Text, "Wyjdź") == 0)
                {
                    stanRozmowy = StanyRozmowy.Pozegnanie;
                }
                else if (string.Compare(e.Result.Text, "Powtórz") == 0)
                {
                    stanRozmowy = (StanyRozmowy)ja;
                }
                else
                {
                    for (int i = 1; i <= ListaSprzetu.Count; i++)
                    {
                        if (string.Compare(i.ToString(), e.Result.Text) == 0)
                        {
                            wybranySprzet.sprzet.iloscSztuk = i;
                            wybranySprzet.liczba            = i;
                            Application.Current.Dispatcher.Invoke(new Action(() => ListaZamowien.Add(wybranySprzet)));
                            Application.Current.Dispatcher.Invoke(new Action(() => stanRozmowy = StanyRozmowy.NoweZamowienie));
                        }
                    }
                }
            };

            //dodanie obsługi jak się nie udało rozpoznać usera
            rozpoznawanieMowy.SRE.SpeechRecognitionRejected += (object sender, SpeechRecognitionRejectedEventArgs e) => {
                odpowiedzSystemu = parserXML.parsuj("NieRozpoznano.vxml");
                Powiedz(odpowiedzSystemu.Prompt);
                stanRozmowy = (StanyRozmowy)ja;
            };

            Powiedz("Ile chciałbyś sztuk sprzętu? Podaj liczbę z zakresu 1 - " + new CzytajZBazy().pobierzSprzet(wybranySprzet.sprzet.idSprzetu).iloscSztuk);

            rozpoznawanieMowy.rozpoznajSlowoZeSlownika();//rozpoznaj slowo
        }
        private void KupnoDyskuTwardego(int ja)
        {
            rozpoznawanieMowy.czyscSlownik();//przed rozpoznawaniem czyscimy slownik
            rozpoznawanieMowy.dodajSlowa(new string[] { "Wyjdź", "Powtórz" });

            ListaSprzetu = new CzytajZBazy().pobierzDyskiTwarde();

            for (int i = 0; i < ListaSprzetu.Count; i++)
            {
                ListaSprzetu[i].text = new CzytajZBazy().pobierzDyskTwardy(ListaSprzetu[i].idSprzetu).PobierzOpis();
            }

            SprzetVisible = Visibility.Visible;

            for (int i = 1; i <= ListaSprzetu.Count; i++)
            {
                rozpoznawanieMowy.dodajSlowa(i + ""); //czyta jedno zamiast 1, lel
            }
            for (int i = 1; i <= ListaSprzetu.Count; i++)
            {
                ListaSprzetu[i - 1].numerNaLiscie = i;
            }

            OnPropertyChanged("ListaSprzetu");

            //dodanie obsługi udanego rozpoznania
            rozpoznawanieMowy.SRE.SpeechRecognized += (object sender, SpeechRecognizedEventArgs e) => {
                if (string.Compare(e.Result.Text, "Wyjdź") == 0)
                {
                    stanRozmowy = StanyRozmowy.Pozegnanie;
                }
                else if (string.Compare(e.Result.Text, "Powtórz") == 0)
                {
                    stanRozmowy = (StanyRozmowy)ja;
                }
                else
                {
                    for (int i = 1; i <= ListaSprzetu.Count; i++)
                    {
                        if (string.Compare(i.ToString(), e.Result.Text) == 0)
                        {
                            Powiedz("Wybrałeś dysk numer " + i);
                            //Dispatcher
                            PozycjaZamowienia poz = new PozycjaZamowienia
                            {
                                sprzet = ListaSprzetu[i - 1],
                                liczba = 1
                            };

                            wybranySprzet = poz;
                            SprzetVisible = Visibility.Hidden;


                            stanRozmowy = StanyRozmowy.LiczbaSztuk;
                        }
                    }
                }
            };

            //dodanie obsługi jak się nie udało rozpoznać usera
            rozpoznawanieMowy.SRE.SpeechRecognitionRejected += (object sender, SpeechRecognitionRejectedEventArgs e) => {
                odpowiedzSystemu = parserXML.parsuj("NieRozpoznano.vxml");
                Powiedz(odpowiedzSystemu.Prompt);
                stanRozmowy = (StanyRozmowy)ja;
            };

            Powiedz("Który dysk cię interesuje, podaj numer");

            rozpoznawanieMowy.rozpoznajSlowoZeSlownika();//rozpoznaj slowo
        }
        private void OdczytHistorii(int ja)
        {
            rozpoznawanieMowy.czyscSlownik();//przed rozpoznawaniem czyscimy slownik
            rozpoznawanieMowy.dodajSlowa(new string[] { "Wyjdź", "Powtórz" });

            int liczbaZamowien = new CzytajZBazy().pobierzLiczbeZamowien(uzytkownik.imie);

            for (int i = 1; i <= liczbaZamowien; i++)
            {
                rozpoznawanieMowy.dodajSlowa(i + ""); //czyta jedno zamiast 1, lel
            }
            //dodanie obsługi udanego rozpoznania
            rozpoznawanieMowy.SRE.SpeechRecognized += (object sender, SpeechRecognizedEventArgs e) => {
                if (string.Compare(e.Result.Text, "Wyjdź") == 0)
                {
                    stanRozmowy = StanyRozmowy.Pozegnanie;
                }
                else if (string.Compare(e.Result.Text, "Powtórz") == 0)
                {
                    stanRozmowy = (StanyRozmowy)ja;
                }
                else
                {
                    for (int i = 1; i <= liczbaZamowien; i++)
                    {
                        if (string.Compare(i.ToString(), e.Result.Text) == 0)
                        {
                            odpowiedzSystemu = parserXML.parsuj("WyborHistoria.vxml");
                            Powiedz(odpowiedzSystemu.Prompt + " " + i);
                            Powiedz("Skład zamówienia:");
                            ObservableCollection <Zamowienie> lista = new ObservableCollection <Zamowienie>();
                            lista = new CzytajZBazy().pobierzZamowienia(uzytkownik.imie);
                            ObservableCollection <PozycjaZamowienia> pom = new ObservableCollection <PozycjaZamowienia>();

                            foreach (PozycjaZamowienia poz in lista[i - 1].lista)
                            {
                                pom.Add(poz);
                            }

                            ListaZamowien = pom;
                            Historia      = Visibility.Visible;

                            foreach (PozycjaZamowienia poz in lista[i - 1].lista)
                            {
                                Powiedz("Zamówiłeś: " + poz.typ + " o parametrach " + poz.sprzet.text);
                            }

                            Historia    = Visibility.Hidden;
                            stanRozmowy = StanyRozmowy.WyborTrybu;
                        }
                    }
                }
            };

            //dodanie obsługi jak się nie udało rozpoznać usera
            rozpoznawanieMowy.SRE.SpeechRecognitionRejected += (object sender, SpeechRecognitionRejectedEventArgs e) => {
                odpowiedzSystemu = parserXML.parsuj("NieRozpoznano.vxml");
                Powiedz(odpowiedzSystemu.Prompt);
                stanRozmowy = (StanyRozmowy)ja;
            };

            Powiedz("Obecnie posiadasz " + new CzytajZBazy().pobierzLiczbeZamowien(uzytkownik.imie) + " zamówienia. " +
                    "Które cię interesuje");

            rozpoznawanieMowy.rozpoznajSlowoZeSlownika();//rozpoznaj slowo
        }
        private void PobierzNazweUsera()
        {
            rozpoznawanieMowy.czyscSlownik();//przed rozpoznawaniem czyscimy slownik
            rozpoznawanieMowy.dodajSlowa(new string[] { "Wyjdź", "Powtórz" });

            userzy = new CzytajZBazy().pobierzUzytkownikow();
            foreach (Uzytkownik user in userzy)
            {
                user.imie  = user.imie.Replace(" ", string.Empty);
                user.haslo = user.haslo.Replace(" ", string.Empty);
                rozpoznawanieMowy.dodajSlowa(user.imie);
            }


            //dodanie obsługi udanego rozpoznania
            rozpoznawanieMowy.SRE.SpeechRecognized += (object sender, SpeechRecognizedEventArgs e) => {
                Debug.WriteLine("Przyszedl event");
                string imie = e.Result.Text;
                if (string.Compare(e.Result.Text, "Wyjdź") == 0)
                {
                    stanRozmowy = StanyRozmowy.Pozegnanie;
                }
                else if (string.Compare(e.Result.Text, "Powtórz") == 0)
                {
                    stanRozmowy = StanyRozmowy.ZapytanieOLogin;
                }
                else
                {
                    foreach (Uzytkownik user in userzy)
                    {
                        if (string.Compare(user.imie, imie) == 0)
                        {
                            uzytkownik  = user;
                            stanRozmowy = StanyRozmowy.ZapytanieOHaslo; //ustawienie stanu rozmowy
                            break;                                      //jak znalazlem to koncze szukanie
                        }
                    }
                    if (stanRozmowy != StanyRozmowy.ZapytanieOHaslo)  //ja poprzenida petla nie znalazla usera to znaczy ze go nima
                    {
                        odpowiedzSystemu = parserXML.parsuj("LoginNieOk.vxml");
                        Powiedz(odpowiedzSystemu.Prompt);
                        stanRozmowy = StanyRozmowy.BlednyLogin;//ustawienie stanu rozmowy
                    }
                    else if (stanRozmowy == StanyRozmowy.ZapytanieOHaslo)
                    {
                        odpowiedzSystemu = parserXML.parsuj("LoginOk.vxml");
                        Powiedz(odpowiedzSystemu.Prompt);
                        stanRozmowy = StanyRozmowy.ZapytanieOHaslo;
                    }
                }
            };

            //dodanie obsługi jak się nie udało rozpoznać usera
            rozpoznawanieMowy.SRE.SpeechRecognitionRejected += (object sender, SpeechRecognitionRejectedEventArgs e) => {
                odpowiedzSystemu = parserXML.parsuj("NieRozpoznano.vxml");
                Powiedz(odpowiedzSystemu.Prompt);
                stanRozmowy = StanyRozmowy.NieRozpoznanyLogin;//ustawienie stanu rozmowy
                Debug.WriteLine("Nie rozpoznano usera " + e.ToString());
            };

            odpowiedzSystemu = parserXML.parsuj("ZapytajLogin.vxml");
            Powiedz(odpowiedzSystemu.Prompt);

            rozpoznawanieMowy.rozpoznajSlowoZeSlownika();//start metody rozpoznawania jednego słowa ze słownika
        }
        private void PobierzWszystko()
        {
            rozpoznawanieMowy.czyscSlownik();//przed rozpoznawaniem czyscimy slownik
            rozpoznawanieMowy.dodajSlowa(new string[] { "Wyjdź", "Powtórz", "Login", "Hasło" });

            userzy = new CzytajZBazy().pobierzUzytkownikow();
            foreach (Uzytkownik user in userzy)
            {
                user.imie  = user.imie.Replace(" ", string.Empty);
                user.haslo = user.haslo.Replace(" ", string.Empty);
                rozpoznawanieMowy.dodajSlowa(user.imie);
                rozpoznawanieMowy.dodajSlowa(user.haslo);
            }



            //dodanie obsługi udanego rozpoznania
            rozpoznawanieMowy.SRE.SpeechRecognized += (object sender, SpeechRecognizedEventArgs e) => {
                string imie = e.Result.Text;
                if (string.Compare(e.Result.Text, "Wyjdź") == 0)
                {
                    stanRozmowy = StanyRozmowy.Pozegnanie;
                }
                else if (string.Compare(e.Result.Text, "Powtórz") == 0)
                {
                    stanRozmowy = StanyRozmowy.ZapytanieOLogin_Haslo;
                }
                else
                {
                    Debug.WriteLine(e.Result.Text);

                    if (string.Compare(e.Result.Text, "Login") == 0)
                    {
                        login = true;
                    }
                    else if (string.Compare(e.Result.Text, "Hasło") == 0)
                    {
                        haslo = true;
                    }
                    else if (login)
                    {
                        foreach (Uzytkownik user in userzy)
                        {
                            if (string.Compare(user.imie, imie) == 0)
                            {
                                uzytkownik = user;
                                loginText  = imie;
                            }
                            login = false;
                        }
                    }
                    else if (haslo)
                    {
                        foreach (Uzytkownik user in userzy)
                        {
                            if (string.Compare(user.haslo, imie) == 0)
                            {
                                uzytkownik = user;
                                hasloText  = imie;
                            }
                            haslo = false;
                        }
                    }

                    if (hasloText != null && loginText != null)
                    {
                        if (string.Compare(uzytkownik.imie, loginText) == 0 && string.Compare(uzytkownik.haslo, hasloText) == 0)
                        {
                            Powiedz(odpowiedzSystemu.Prompt);
                            stanRozmowy = StanyRozmowy.WyborTrybu;
                        }
                        else
                        {
                            odpowiedzSystemu = parserXML.parsuj("BladInit.vxml");
                            Powiedz(odpowiedzSystemu.Prompt);
                            stanRozmowy = StanyRozmowy.ZapytanieOLogin;//ustawienie stanu rozmowy
                        }
                    }
                }
            };

            //dodanie obsługi jak się nie udało rozpoznać usera
            rozpoznawanieMowy.SRE.SpeechRecognitionRejected += (object sender, SpeechRecognitionRejectedEventArgs e) => {
                odpowiedzSystemu = parserXML.parsuj("NieRozpoznano.vxml");
                Powiedz(odpowiedzSystemu.Prompt);
                odpowiedzSystemu = parserXML.parsuj("BladInit.vxml");
                Powiedz(odpowiedzSystemu.Prompt);
                stanRozmowy = StanyRozmowy.ZapytanieOLogin;//ustawienie stanu rozmowy
            };

            odpowiedzSystemu = parserXML.parsuj("Login_Haslo.vxml");
            Powiedz(odpowiedzSystemu.Prompt);

            rozpoznawanieMowy.rozpoznajSlowaZeSlownika();//start metody rozpoznawania jednego słowa ze słownika
        }
        private void Kontroler()
        {
            dodajDane();
            //przeskoczPoczatek();

            while ((int)stanRozmowy < (int)StanyRozmowy.Pozegnanie)  //rozmowa trwa az wejdziemy w stan zakonczenia jej
            {
                switch (stanRozmowy)
                {
                case StanyRozmowy.Powitanie:     //witamy usera
                    odpowiedzSystemu = parserXML.parsuj("Powitanie.vxml");
                    Powiedz(odpowiedzSystemu.Prompt);
                    stanRozmowy = StanyRozmowy.ZapytanieOLogin_Haslo;
                    break;

                    #region logowanie
                case StanyRozmowy.ZapytanieOLogin_Haslo:                           //zapytanie o login
                    PobierzWszystko();                                             //w tej metodzie nadpisujemy stan rozmowy jak zwroci ona wynik
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze; //to bedzie nadpisane jak metoda (nie)rozpozna
                    break;

                case StanyRozmowy.ZapytanieOLogin:                                 //zapytanie o login
                    PobierzNazweUsera();                                           //w tej metodzie nadpisujemy stan rozmowy jak zwroci ona wynik
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze; //to bedzie nadpisane jak metoda (nie)rozpozna
                    break;

                case StanyRozmowy.ZapytanieOHaslo:    //pytamy o haslo
                    PobierzHaslo();
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;

                    #endregion
                    #region bledny login haslo
                case StanyRozmowy.BlednyLogin:
                    PobierzNazweUsera();                                           //w tej metodzie nadpisujemy stan rozmowy jak zwroci ona wynik
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze; //to bedzie nadpisane jak metoda (nie)rozpozna
                    break;

                case StanyRozmowy.BledneHaslo:
                    PobierzHaslo();
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;

                case StanyRozmowy.NieRozpoznanyLogin:
                    PobierzNazweUsera();                                           //w tej metodzie nadpisujemy stan rozmowy jak zwroci ona wynik
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze; //to bedzie nadpisane jak metoda (nie)rozpozna
                    break;

                case StanyRozmowy.NieRozpoznaneHaslo:
                    PobierzHaslo();
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;
                    #endregion

                case StanyRozmowy.WyborTrybu:
                    Debug.WriteLine("STAN - WYBÓR TRYBU");
                    WyborTrybu((int)StanyRozmowy.WyborTrybu);
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;

                case StanyRozmowy.HistoriaZamowien:
                    OdczytHistorii((int)StanyRozmowy.HistoriaZamowien);
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;

                    #region zamawianie
                case StanyRozmowy.NoweZamowienie:
                    ZamawiamKoszyk((int)StanyRozmowy.NoweZamowienie);
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;

                case StanyRozmowy.WyborProcesora:
                    KupnoProcesora((int)StanyRozmowy.WyborProcesora);
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;

                case StanyRozmowy.WyborRAMu:
                    KupnoPamieciRam((int)StanyRozmowy.WyborRAMu);
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;

                case StanyRozmowy.WyborDysku:
                    KupnoDyskuTwardego((int)StanyRozmowy.WyborDysku);
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;

                case StanyRozmowy.LiczbaSztuk:
                    WyborLiczbySztuk((int)StanyRozmowy.LiczbaSztuk);
                    stanRozmowy = StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze;
                    break;
                    #endregion



                case StanyRozmowy.OczekiwanieNaRozpoznanieLubSynteze:    //nic nie robimy jak czekamy
                    Thread.Sleep(100);
                    break;

                default:
                    break;
                }
            }

            if (stanRozmowy == StanyRozmowy.Pozegnanie)
            {
                odpowiedzSystemu = parserXML.parsuj("Pozegnanie.vxml");
                string nazwa = "";
                try {
                    nazwa = uzytkownik.imie;
                }
                catch { }
                Powiedz(odpowiedzSystemu.Prompt + nazwa);
                System.Windows.Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background,
                                                                          new Action(() => System.Windows.Application.Current.Shutdown()));
            }
            else if (stanRozmowy == StanyRozmowy.BrakOdpowiedzi)
            {
            }
            else if (stanRozmowy == StanyRozmowy.PrzerwanoRozmowe)
            {
            }
        }