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"); } } } } } }