예제 #1
0
        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");
                        }
                    }
                }
            }
        }
예제 #2
0
 //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);
         }
     }
 }
예제 #3
0
        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");
                }
            }
        }
예제 #4
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
        }
예제 #5
0
        //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;
            }
        }