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