// 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(); }
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 }
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; } }