// izmena sifre
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            // treba prvo da se ispita da li je dobra trenutna lozinka
            // u slucaju da jeste i nova lozinka se razlikuje od nje
            //MessageBox.Show("stara sifra:" + Sifra.Password);
            //MessageBox.Show("stara sifra:" + NovaSifra.Password);
            try
            {
                PKorisnik.Login(Korisnik.KorisnickoIme, Sifra.Password);

                if (!NovaSifra.Password.Equals(Sifra.Password))
                {
                    DetaljiIliSifra   = false;
                    this.DialogResult = true;
                }
                else
                {
                    try
                    {
                        System.Windows.MessageBox.Show(PPoruka.VratiPrevod("PW_SAME"));
                    }
                    catch (OracleException err)
                    {
                        System.Windows.MessageBox.Show("Greska pri promeni sifre");
                    }

                    this.DialogResult = false;
                }
            }
            catch (OracleException oraError)
            {
                try
                {
                    System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                }
                catch (OracleException er)
                {
                    System.Windows.MessageBox.Show("Greska");
                }
                this.DialogResult = false;
            }
            catch (System.Exception error)
            {
                try
                {
                    System.Windows.MessageBox.Show(PPoruka.VratiPrevod(error.Message));
                }
                catch (OracleException er)
                {
                    System.Windows.MessageBox.Show("Greska");
                }
                this.DialogResult = false;
            }
        }
        // profil iz drop down menija
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            KorisnikDetalji kd = new KorisnikDetalji();

            if (kd.ShowDialog() == true)
            {
                if (kd.DetaljiIliSifra)
                {
                    try
                    {
                        PKorisnik.PromeniDetalje(Korisnik.KorisnickoIme, kd.Ime, kd.Prezime, kd.Kompanija);
                        PKorisnik.Ucitaj_Podatke();
                    }
                    catch (OracleException oraError)
                    {
                        try
                        {
                            System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                        }
                        catch (OracleException err)
                        {
                            System.Windows.MessageBox.Show("Greska");
                        }
                    }
                }
                else
                {
                    try
                    {
                        PKorisnik.PromeniLozinku(Korisnik.KorisnickoIme, kd.NovaSifra.Password);
                    }
                    catch (OracleException oraError)
                    {
                        try
                        {
                            System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                        }
                        catch (OracleException err)
                        {
                            System.Windows.MessageBox.Show("Greska");
                        }
                    }
                }
            }
            kd.Close();
        }
Exemple #3
0
        private void Login(object param)
        {
            //ovde se radi login
            //vrsi se pretraga baze sa atributima ovog view modela
            //mora ovako da se izvadi password jer ne moze da se binduje password iz
            //bezbednosnih razloga
            //moze preko passwordboxhelpera ali je komplikovanije
            this.password = ((PasswordBox)param).Password;

            try
            {
                if (!PKorisnik.Postoji(this.username))
                {
                    throw new Exception("U_NEXIST");
                }

                PKorisnik.Login(this.username, this.password);
                try
                {
                    System.Windows.MessageBox.Show(PPoruka.VratiPrevod("S_LOGIN"));
                }
                catch (OracleException er)
                {
                    System.Windows.MessageBox.Show("Uspesno ste se ulogovali.");
                }

                Korisnik.KorisnickoIme = this.username;
                PKorisnik.Ucitaj_Podatke();

                Korisnik.Projekti = PProjekat.VratiSveProjekte(Korisnik.KorisnickoIme);
                Korisnik.Mejlovi  = PEmail.VratiSve(Korisnik.KorisnickoIme);

                ApplicationView av = new ApplicationView(this.mainViewModel);

                //ako je uspesan login onda se zatvara ova stranica
                this.CloseView();

                //nakon ovoga MainView je i dalje Hide-ovan i tako je tokom celokupnog rada aplikacije
                //prikazuje se tek kada korisnik izvrsi logout
            }
            catch (OracleException oraError)
            {
                try
                {
                    System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                }
                catch (OracleException err)
                {
                    System.Windows.MessageBox.Show("Greska");
                }
            }
            catch (System.Exception error)
            {
                try
                {
                    System.Windows.MessageBox.Show(PPoruka.VratiPrevod(error.Message));
                }
                catch (OracleException er)
                {
                    System.Windows.MessageBox.Show("Greska");
                }
            }
            //nakon ovoga ide prelaz iz LoginView u ApplicationView
            //ovde treba da se vrati objekat tipa Korisnik i da se prosledi ApplicationViewModel-u
        }
Exemple #4
0
        private void Add()
        {
            if (this._ime != null)
            {
                if (!this._ime.Equals(""))
                {
                    //ovde se proverava da li postoji taj korisnik
                    //i ako da onda se dodaje u listu privremeno dodatih radnika
                    bool nadjen = PKorisnik.Postoji(this._ime);
                    if (nadjen)
                    {
                        RadnikNaProjektu postoji = Radnici.FirstOrDefault(x => x.Ime == this._ime);
                        if (postoji == null)
                        {
                            //onda se doda u listu i kaze da je dodat
                            RadnikNaProjektu r = new RadnikNaProjektu()
                            {
                                Ime = this._ime, Uloga = "RADNIK"
                            };

                            tmpDodati.Add(r);
                            Radnici.Add(r);
                        }
                        else
                        {
                            try
                            {
                                MessageBox.Show(Packages.PPoruka.VratiPrevod("USR_ADDED"));
                            }
                            catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                            {
                                try
                                {
                                    System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                                }
                                catch (Oracle.ManagedDataAccess.Client.OracleException err)
                                {
                                    System.Windows.MessageBox.Show("Greska");
                                }
                            }
                        }
                    }
                    else
                    {
                        //ne postoji
                        try
                        {
                            System.Windows.MessageBox.Show(PPoruka.VratiPrevod("USR_NEXIST"));
                        }
                        catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                        {
                            try
                            {
                                System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                            }
                            catch (Oracle.ManagedDataAccess.Client.OracleException err)
                            {
                                System.Windows.MessageBox.Show("Greska");
                            }
                        }
                    }
                }
            }
        }
        /// <summary>
        /// Nije u skladu sa MVVM
        /// Alternativa je da se napravi DependencyProperty za Click komandu koji posle moze da se
        /// iskoristi kao property kontrole koja treba da salje komandu
        /// za sada neka stoji ovako
        /// U zavisnosti od toga na koji element u nav baru se klikne
        /// menja se trenutni ViewModel i prikazuje se njegov View
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ListViewMenu_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ListView lv = sender as ListView;

            if (lv.SelectedIndex != -1)
            {
                ListViewItem li = lv.SelectedItem as ListViewItem;
                switch (li.Name)
                {
                case "Home":
                    //osvezava se lista projekata
                    ((ApplicationViewModel)this.DataContext).CurrentPageViewModel = ((ApplicationViewModel)this.DataContext).PageViewModels[0];
                    ((StartViewModel)(((ApplicationViewModel)this.DataContext).CurrentPageViewModel)).OsveziListuProjekata();
                    ((ApplicationViewModel)this.DataContext).PostaviCurrentViewModel();
                    this.ProjekatDugmiciManage(false, "");
                    break;

                case "Table":
                    ((ApplicationViewModel)this.DataContext).PostaviTrenutniProjekat();
                    // u zavisnosti da li se kreira ili je kreiran projekat treba drugacije da se prikazu dugmici
                    if (((ApplicationViewModel)this.DataContext).TrenutniProjekat != null)
                    {
                        if (((ApplicationViewModel)this.DataContext).TrenutniProjekat.Id == 0)
                        {
                            this.ProjekatDugmiciManage(true, "create");
                        }
                        else
                        {
                            this.ProjekatDugmiciManage(true, "open");
                        }
                    }
                    break;

                case "Settings":
                    //za izmenu jezika
                    BiranjeJezika Jezik = new BiranjeJezika();
                    if (Jezik.ShowDialog() == true)
                    {
                        if (Jezik.Jezik.Equals("EN") && Globals.Jezik.Equals("RS"))
                        {
                            Globals.Jezik = "EN";
                            LoginDemo.App.SelectCulture("en");
                        }
                        else if (Jezik.Jezik.Equals("RS") && Globals.Jezik.Equals("EN"))
                        {
                            Globals.Jezik = "RS";
                            LoginDemo.App.SelectCulture("sr");
                        }
                    }
                    Jezik.Close();
                    break;

                case "Account":
                    KorisnikDetalji kd = new KorisnikDetalji();
                    if (kd.ShowDialog() == true)
                    {
                        if (kd.DetaljiIliSifra)
                        {
                            try
                            {
                                PKorisnik.PromeniDetalje(Korisnik.KorisnickoIme, kd.Ime, kd.Prezime, kd.Kompanija);
                                PKorisnik.Ucitaj_Podatke();
                            }
                            catch (OracleException oraError)
                            {
                                try
                                {
                                    System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                                }
                                catch (OracleException err)
                                {
                                    System.Windows.MessageBox.Show("Greska");
                                }
                            }
                        }
                        else
                        {
                            try
                            {
                                PKorisnik.PromeniLozinku(Korisnik.KorisnickoIme, kd.NovaSifra.Password);
                            }
                            catch (OracleException oraError)
                            {
                                try
                                {
                                    System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                                }
                                catch (OracleException err)
                                {
                                    System.Windows.MessageBox.Show("Greska");
                                }
                            }
                        }
                    }
                    kd.Close();
                    break;

                case "Logout":
                    ((ApplicationViewModel)this.DataContext).AppView.Hide();
                    ((ApplicationViewModel)this.DataContext).mainViewModel.ShowAction();
                    ((ApplicationViewModel)this.DataContext).AppView.Close();
                    break;

                default:
                    MessageBox.Show("" + li.Name);
                    break;
                }
                lv.SelectedIndex = -1;
            }
        }