Example #1
0
        public void DodajKomentar(String korisnik, String komentar)
        {
            Komentar noviKomentar = new Komentar(korisnik, komentar);

            Komentar test = Komentari.FirstOrDefault(x => x.Tekst == komentar && x.Korisnik == korisnik);

            if (test == null)
            {
                // dodavanje komentara u bazu
                if (this.Id != 0)
                {
                    try
                    {
                        PZadatak.DodajKomentar(komentar, this.Id);
                    }
                    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");
                        }
                    }
                }

                Komentari.Add(noviKomentar);
            }
        }
Example #2
0
        // 10.06.2018. mstankovic
        //public void DodajZadatak(Kontejner roditelj)
        public void DodajZadatak(KontejnerZadataka roditelj)
        {
            // 10.06.2018. mstankovic (naredne 3 linije)
            //Zadatak novi = new Zadatak((KontejnerZadataka)roditelj);
            //((KontejnerZadataka)roditelj).Zadaci.Add(novi);
            //((KontejnerZadataka)roditelj).PreurediZadatke();
            if (roditelj.Zadaci.Count != roditelj.MaxBrZadataka)
            {
                Zadatak novi = new Zadatak(roditelj);

                // dodavanje zadatka u bazu se izvrsava samo ako je projekat kreiran (sto znaci da je roditeljskoj fazi dodeljen id)
                if (roditelj.Id != 0)
                {
                    try
                    {
                        novi.Id = PZadatak.Dodaj(novi.Ime, novi.Opis, novi.PocetakIzrade, novi.KrajIzrade, novi.Tip, roditelj.Id);
                    }
                    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");
                        }
                    }
                }

                roditelj.Zadaci.Add(novi);
                roditelj.PreurediZadatke();
            }
        }
Example #3
0
        // 10.06.2018. mstankovic
        //public void DodajKolonu(Kontejner roditelj, String naziv)
        public void DodajKolonu(KontejnerFaza roditelj, String naziv, int idProjekta)
        {
            KontejnerZadataka nova = new KontejnerZadataka(naziv, roditelj);

            // kolona se ubacuje u bazu samo ako je projekat vec kreiran
            if (idProjekta != 0)
            {
                try
                {
                    nova.Id = PFaza.Dodaj_FZ(nova.Ime, nova.Opis, nova.MaxBrZadataka, nova.PocetakIzrade, nova.KrajIzrade,
                                             roditelj.Id, nova.SirinaPoZadacima, nova.VisinaPoZadacima, idProjekta);
                }
                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");
                    }
                }
            }

            // 10.06.2018. mstankovic
            //((KontejnerFaza)roditelj).Deca.Add(nova);
            roditelj.Deca.Add(nova);

            //dodata ispravka pozicije
            nova.Pozicija = roditelj.Deca.IndexOf(nova);
        }
Example #4
0
        public void DodajKontrolnuTacku(String naziv)
        {
            KontrolnaTacka nova = new KontrolnaTacka(naziv);
            // dodavanje kontrolne tacke u bazu

            KontrolnaTacka test = KontrolneTacke.FirstOrDefault(x => x.Naziv == naziv);

            if (test == null)
            {
                if (this.Id != 0)
                {
                    try
                    {
                        PZadatak.DodajKontrolnuTacku(naziv, this.Id);
                    }
                    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");
                        }
                    }
                }

                KontrolneTacke.Add(nova);
            }
        }
Example #5
0
        // 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;
            }
        }
Example #6
0
        // 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();
        }
Example #7
0
        /// <summary>
        /// Nacrta se ponovo tabela kad se izvrsi ucitavanje tabele iz baze
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void RefreshTabele_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
        {
            if ((bool)e.Result == true)
            {
                //kada se ucita iz baze nova tabela
                Grid gr = TabelaCrtac.InvokeNacrtaj(((ApplicationViewModel)this.DataContext).TrenutniProjekat.TabelaProjekta, ((ApplicationViewModel)this.DataContext));
                ((ApplicationViewModel)this.DataContext).AppView.SetContent(gr);

                try
                {
                    MessageBox.Show(PPoruka.VratiPrevod("TBL_REFRSH"));
                }
                catch (Exception er)
                {
                    MessageBox.Show("Tabela je osvezena.");
                }
            }
        }
Example #8
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");
                        }
                    }
                }
            }
        }
Example #9
0
        private void Grid_PreviewMouseMove(object sender, MouseEventArgs e)
        {
            // Get the current mouse position
            Point  mousePos = e.GetPosition(null);
            Vector diff     = startPoint - mousePos;

            if (e.LeftButton == MouseButtonState.Pressed && (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance ||
                                                             Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance))
            {
                // Get the dragged ListViewItem
                ZadatakGrid zad = sender as ZadatakGrid;

                Zadatak z = (Zadatak)zad.DataContext;

                //zakljucavanje zadatka u bazi
                //ukoliko zadatak nije ubacen onda
                //ne treba da se ispita ali onda mora da se ispita
                if (z.Id != 0)
                {
                    if (!Packages.PZadatak.IsZakljucan(z.Id))
                    {
                        Packages.PZadatak.Zakljucaj(z.Id);

                        // Initialize the drag & drop operation
                        DataObject dragData = new DataObject("myZad", z);
                        DragDrop.DoDragDrop(zad, dragData, DragDropEffects.Move);
                    }
                    else
                    {
                        MessageBox.Show(PPoruka.VratiPrevod("Z_LOCKED"));
                    }
                }
                else
                {
                    //ako necemo da zakljucava ovo ostavimo a ovo gore sve iskomentarisemo
                    //Initialize the drag & drop operation
                    DataObject dragData = new DataObject("myZad", z);
                    DragDrop.DoDragDrop(zad, dragData, DragDropEffects.Move);
                }
            }
        }
Example #10
0
        //brisanje kontejnera zadataka
        //17.06.2018
        public void IzbrisiFazu(Kontejner kz)
        {
            KontejnerFaza roditelj = kz.Roditelj;

            //brisanje je dozvoljeno samo ako je kontejner prazan
            if ((kz.GetType() == typeof(KontejnerZadataka) && ((KontejnerZadataka)kz).Zadaci.Count == 0) ||
                (kz.GetType() == typeof(KontejnerFaza) && ((KontejnerFaza)kz).Deca.Count == 0))
            {
                //brisanje iz baze
                if (kz.Id != 0)
                {
                    try
                    {
                        PFaza.Obrisi(kz.Id);
                    }
                    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");
                        }
                    }
                }

                foreach (Kontejner k in kz.Roditelj.Deca)
                {
                    if (k.Pozicija > kz.Pozicija)
                    {
                        k.Pozicija--;
                    }
                }

                roditelj.Deca.Remove(kz);
                //roditelj.Deca.OrderBy(x => x.Pozicija);
            }
        }
        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");
                }
            }
        }
Example #12
0
        private void IzracunajStatus()
        {
            int brTacaka      = this.KontrolneTacke.Count;
            int brStikliranih = 0;

            foreach (KontrolnaTacka kt in this.KontrolneTacke)
            {
                if (kt.Vrednost == true)
                {
                    brStikliranih++;
                }
                //izmena u bazi
                if (kt.Id != 0)
                {
                    try
                    {
                        PZadatak.IzmeniKontrolnuTacku(kt.Id, kt.Vrednost);
                    }
                    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");
                        }
                    }
                }
            }

            if (brTacaka != 0)
            {
                Kompletnost = (brStikliranih * 100) / brTacaka;
            }
        }
Example #13
0
        /// <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;
            }
        }
Example #14
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;
            }
        }
Example #15
0
        //0 za desno, 1 za levo
        //vvrani - dodate ispravka za pozicije nakon smenjivanja pozicija
        public void Pomeri(Kontejner kolona, bool pravac)
        {
            // 10.06.2016. mstankovic
            //KontejnerFaza kf = ((KontejnerFaza)kolona.Roditelj);
            KontejnerFaza kf = kolona.Roditelj;

            int index = kf.Deca.IndexOf(kolona);

            //desno
            if (pravac == false)
            {
                if (index != kf.Deca.Count - 1)
                {
                    Kontejner tmp    = kf.Deca[index];
                    int       tmpPoz = kf.Deca[index + 1].Pozicija;
                    kf.Deca[index] = kf.Deca[index + 1];
                    //kf.Deca[index].Pozicija -= 1;
                    kf.Deca[index].Pozicija = tmp.Pozicija;
                    kf.Deca[index + 1]      = tmp;
                    //kf.Deca[index + 1].Pozicija += 1;
                    kf.Deca[index + 1].Pozicija = tmpPoz;

                    if (kolona.Id != 0)
                    {
                        try
                        {
                            PFaza.Pomeri(kolona.Id, 1);
                        }
                        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");
                            }
                        }
                    }
                }
            }
            //levo
            else
            {
                if (index != 0)
                {
                    Kontejner tmp    = kf.Deca[index];
                    int       tmpPoz = kf.Deca[index - 1].Pozicija;
                    kf.Deca[index] = kf.Deca[index - 1];
                    //kf.Deca[index].Pozicija += 1;
                    kf.Deca[index].Pozicija = tmp.Pozicija;
                    kf.Deca[index - 1]      = tmp;
                    //kf.Deca[index - 1].Pozicija -= 1;
                    kf.Deca[index - 1].Pozicija = tmpPoz;

                    if (kolona.Id != 0)
                    {
                        try
                        {
                            PFaza.Pomeri(kolona.Id, -1);
                        }
                        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");
                            }
                        }
                    }
                }
            }
        }
Example #16
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
        }
Example #17
0
        //kada se otvara postojeci projekat iz baze onda se zove ovaj konstruktor koji povezuje stablo
        public Tabela(String naslov, String opis, int idProjekta)
        {
            Naslov     = naslov;
            Opis       = opis;
            RootKolona = new KontejnerFaza("ROOT");
            RootKolona.IsVerticalSplit = true;

            // 10.06.2018. mstankovic
            // (BEGIN) ULANCAVANJE U STABLO
            try
            {
                List <Kontejner>  faze  = Packages.PFaza.VratiFaze(idProjekta);              // 7 je ID projekta
                Queue <Kontejner> queue = new Queue <Kontejner>();

                // Prvo se pronadju elementi ciji je roditelj
                // ROOT kolona (tj. oni ciji je Roditelj.Id = 0),
                // vezu se za nju i ubace u queue
                foreach (Kontejner k in faze)
                {
                    if (k.Roditelj.Id == 0)
                    {
                        RootKolona.Deca.Add(k);
                        k.Roditelj = RootKolona;

                        // BEGIN PROMENA
                        //za pocetak neka bude ovako
                        //da max moze da stane 30 zadataka po koloni
                        if (k.GetType() == typeof(KontejnerZadataka))
                        {
                            ((KontejnerZadataka)k).SirinaPoZadacima = 3;
                            ((KontejnerZadataka)k).VisinaPoZadacima = 10;
                        }
                        // END PROMENA

                        queue.Enqueue(k);
                    }
                }


                //((KontejnerFaza)RootKolona).Deca = ((KontejnerFaza)RootKolona).Deca.OrderBy(kontejner => kontejner.Pozicija).ToList();
                RootKolona.Deca.Sort((x, y) => x.Pozicija.CompareTo(y.Pozicija));

                // Ostali elementi se ulancavaju po ugledu na algoritam obilaska stabla po sirini (Breadth First)
                while (queue.Count > 0)
                {
                    Kontejner k = queue.Dequeue();

                    // Za svaki kontejner faza je potrebno da se pronadju njegova deca
                    // u ostatku liste, da se ulancaju i ubace u red
                    if (k.GetType() == typeof(KontejnerFaza))
                    {
                        foreach (Kontejner dete in faze)
                        {
                            if (dete.Roditelj.Id == k.Id)
                            {
                                ((KontejnerFaza)k).Deca.Add(dete);
                                dete.Roditelj = (KontejnerFaza)k;

                                // BEGIN PROMENA
                                //za pocetak neka bude ovako
                                //da max moze da stane 30 zadataka po koloni
                                if (dete.GetType() == typeof(KontejnerZadataka))
                                {
                                    if (dete.Roditelj.IsVerticalSplit)
                                    {
                                        ((KontejnerZadataka)dete).SirinaPoZadacima = 3;
                                        ((KontejnerZadataka)dete).VisinaPoZadacima = 10;
                                    }
                                    else
                                    {
                                        ((KontejnerZadataka)dete).SirinaPoZadacima = 6;
                                        ((KontejnerZadataka)dete).VisinaPoZadacima = 5;
                                    }
                                    //ograniceno na 30 za pocetak
                                    ((KontejnerZadataka)dete).MaxBrZadataka = 30;
                                }
                                // END PROMENA

                                queue.Enqueue(dete);
                            }
                        }

                        // 12.06.2018 vvranic
                        //sortiranje kolone po indeksima da bi sve kolone bile prikazane u pravilnom redosledu
                        //u rastucem redosledu ih sortira sto bi trebalo da bude ok
                        //((KontejnerFaza)k).Deca = ((KontejnerFaza)k).Deca.OrderBy(kontejner => kontejner.Pozicija).ToList();
                        ((KontejnerFaza)k).Deca.Sort((x, y) => x.Pozicija.CompareTo(y.Pozicija));
                    }
                    else if (k.GetType() == typeof(KontejnerZadataka))
                    {
                        try
                        {
                            ((KontejnerZadataka)k).Zadaci = Packages.PZadatak.VratiZadatkeFaze(k.Id);
                            //((KontejnerZadataka)k).Zadaci.ForEach(zadatak => zadatak.Roditelj = (KontejnerZadataka)k);
                            ((KontejnerZadataka)k).Zadaci.ForEach(zadatak =>
                            {
                                zadatak.Roditelj       = (KontejnerZadataka)k;
                                zadatak.Komentari      = PZadatak.VratiSveKomentare(zadatak.Id);
                                zadatak.KontrolneTacke = PZadatak.VratiSveKontrolneTacke(zadatak.Id);
                                zadatak.KontrolnaTackaChanged();
                            });

                            ((KontejnerZadataka)k).PreurediZadatke();
                        }
                        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");
                            }
                        }
                    }
                }
                // (END) ULANCAVANJE U STABLO
            }
            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");
                }
            }
        }
Example #18
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");
                            }
                        }
                    }
                }
            }
        }
Example #19
0
        //false vertical, true horizontal
        // 10.06.2018. mstankovic
        // public void Split(Kontejner levaPodkolona, bool flag)
        public void Split(KontejnerZadataka kolonaZaSplit, bool nacinSplitovanja, int idProjekta)
        {
            //kreira se parent kolona koja ce da sadrzi dve podkolone
            //on zauzima mesto prethodne kolone koja ce postati leva podkolona
            KontejnerFaza kf = new KontejnerFaza(kolonaZaSplit.Ime);

            kf.Roditelj = kolonaZaSplit.Roditelj;

            // 10.06.2018. mstankovic (naredne 2 linije)
            //int ind = ((KontejnerFaza)kf.Roditelj).Deca.IndexOf(levaPodkolona);
            //((KontejnerFaza)kf.Roditelj).Deca[ind] = kf;
            int ind = kf.Roditelj.Deca.IndexOf(kolonaZaSplit);

            kf.Roditelj.Deca[ind] = kf;
            kf.Pozicija           = ind;

            //vertical
            if (nacinSplitovanja == false)
            {
                kf.IsVerticalSplit = true;
            }
            //horizontal
            else
            {
                kf.IsVerticalSplit = false;
            }

            kolonaZaSplit.Roditelj = kf;

            List <Zadatak> zadaciRoditelja = new List <Zadatak>();

            foreach (Zadatak z in kolonaZaSplit.Zadaci)
            {
                zadaciRoditelja.Add(z);
            }


            if (idProjekta != 0)
            {
                kf.Id = kolonaZaSplit.Id;
                try
                {
                    PFaza.IzmeniPosleSplita(kf.Id, kf.IsVerticalSplit);
                }
                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");
                    }
                }
            }

            //leva podkolona
            KontejnerZadataka kzNovi = new KontejnerZadataka(kolonaZaSplit);

            kzNovi.Pozicija = 0;
            if (idProjekta != 0)
            {
                try
                {
                    kzNovi.Id = PFaza.Dodaj_FZ(kzNovi.Ime, kzNovi.Opis, kzNovi.MaxBrZadataka, kzNovi.PocetakIzrade, kzNovi.KrajIzrade, kf.Id, kzNovi.SirinaPoZadacima, kzNovi.VisinaPoZadacima, idProjekta);
                }
                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");
                    }
                }
            }

            foreach (Zadatak z in zadaciRoditelja)
            {
                try
                {
                    if (z.Id != 0)
                    {
                        PZadatak.IzmeniFazu(z.Id, kzNovi.Id);
                    }
                }
                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");
                    }
                }
            }

            //desna podkolona
            KontejnerZadataka kz = new KontejnerZadataka("New subcolumn 2", kf);

            kz.Pozicija = 1;
            if (idProjekta != 0)
            {
                try
                {
                    kz.Id = PFaza.Dodaj_FZ(kz.Ime, kz.Opis, kz.MaxBrZadataka, kz.PocetakIzrade, kz.KrajIzrade, kf.Id, kz.SirinaPoZadacima, kz.VisinaPoZadacima, idProjekta);
                }
                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");
                    }
                }
            }

            kf.Deca.Add(kzNovi);
            kf.Deca.Add(kz);
        }