private void RemoveProject(object param) { Projekat projekat = (Projekat)param; if (projekat.Privilegija == "KREATOR") { string poruka; string remove; try { poruka = PPoruka.VratiPrevod("SURE?"); remove = PPoruka.VratiPrevod("REMOVE"); } catch (Exception er) { poruka = "Da li ste sigurni?"; remove = "Remove"; } MessageBoxResult mbRes = System.Windows.MessageBox.Show(poruka, remove, System.Windows.MessageBoxButton.YesNo); if (mbRes == MessageBoxResult.Yes) { try { PProjekat.ObrisiProjekat(projekat.Id); Korisnik.Projekti = PProjekat.VratiSveProjekte(Korisnik.KorisnickoIme); // osvezava listu projekata korisnika OsveziListuProjekata(); } catch (OracleException oraError) { try { System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString())); } catch (OracleException err) { System.Windows.MessageBox.Show("Greska pri vracanju svih projekata"); } } } } }
//osvezava listu projekata tako sto ponovo ucita celu listu public void OsveziListuProjekata() { Projekti = new ListaProjekata(); if (Korisnik.Projekti != null) { foreach (Projekat p in Korisnik.Projekti.Keys) { Dictionary <String, String> radnici = PProjekat.VratiKorisnike(p.Id); foreach (KeyValuePair <String, String> radnik in radnici) { if (radnik.Key != Korisnik.KorisnickoIme) { p.RadniciNaProjektu.Add(new RadnikNaProjektu(radnik.Key, radnik.Value)); } } Projekti.Add(p); } } }
public IzborTemplejtaViewModel(IViewModel vm, IViewModel prev, Projekat p) { this.parentAppVM = (ApplicationViewModel)vm; this.previousVM = prev; _projekat = p; // vrati sve templejte try { Templejti = PProjekat.VratiTemplejte(); } 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 pri vracanju templejta"); } } }
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 }
//top bar list view private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { ListView lv = sender as ListView; if (lv.SelectedIndex != -1) { ListViewItem li = lv.SelectedItem as ListViewItem; switch (li.Name) { case "RefreshTable": //background worker RadSaBazom.RefreshTabele.RunWorkerAsync(); //Projekat proj = ((ApplicationViewModel)this.DataContext).TrenutniProjekat; ////prvo bi trebalo da pogleda logove i ako je bilo promena onda tek da uradi refresh //proj.TabelaProjekta = new Tabela(proj.Ime, proj.Opis, proj.Id); //Grid gr = TabelaCrtac.InvokeNacrtaj(((ApplicationViewModel)this.DataContext).TrenutniProjekat.TabelaProjekta, ((ApplicationViewModel)this.DataContext)); ////this.parentAppVM.AppView.ProjekatDugmiciManage(true, "create"); //((ApplicationViewModel)this.DataContext).AppView.SetContent(gr); break; case "Notifications": //List<String> Obavestenja = ((ApplicationViewModel)this.DataContext).TrenutniProjekat.UcitajIstorijuIzmena(frm.Tip, int.Parse(frm.BrojPromena.ToString())); //Notifications ipv = new Notifications(); //ipv.DataContext = Obavestenja; //ipv.ShowDialog(); break; case "SaveAsTemplate": Projekat temp = ((ApplicationViewModel)this.DataContext).TrenutniProjekat; if (temp.Id != 0) { try { PProjekat.SacuvajKaoTemplejt(temp.Id, temp.Ime, temp.Opis); try { System.Windows.MessageBox.Show(PPoruka.VratiPrevod("TMP_S")); } catch (Oracle.ManagedDataAccess.Client.OracleException er) { System.Windows.MessageBox.Show("Templejt uspesno snimljen."); } } 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) { System.Windows.MessageBox.Show("Greska"); } } else { PProjekat.SacuvajKaoTemplejt(temp.Id, temp.Ime, temp.Opis); try { System.Windows.MessageBox.Show(PPoruka.VratiPrevod("MUST_S_P")); } catch (Oracle.ManagedDataAccess.Client.OracleException er) { System.Windows.MessageBox.Show("Morate snimiti projekat."); } } break; case "Done": try { RadSaBazom.KreirajProjekat(((ApplicationViewModel)this.DataContext).TrenutniProjekat); try { System.Windows.MessageBox.Show(PPoruka.VratiPrevod("P_SUC_C")); } catch (OracleException er) { System.Windows.MessageBox.Show("Projekat uspesno kreiran"); } } catch (OracleException oraError) { System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString())); } break; case "History": IzborIstorijeIzmena frm = new IzborIstorijeIzmena(); if (frm.ShowDialog() == true) { // refreshuje se lista izmena if (int.Parse(frm.BrojPromena.ToString()) != 0) { List <String> Izmene = ((ApplicationViewModel)this.DataContext).TrenutniProjekat.UcitajIstorijuIzmena(frm.Tip, int.Parse(frm.BrojPromena.ToString())); IstorijaPromenaView ipv = new IstorijaPromenaView(); ipv.DataContext = Izmene; ipv.ShowDialog(); } else { try { MessageBox.Show(PPoruka.VratiPrevod("WR_INPUT")); } catch (Exception er) { MessageBox.Show("Neispravan unos."); } } } break; default: MessageBox.Show("" + li.Name); break; } lv.SelectedIndex = -1; } }