private void ObrisiManifestaciju(object sender, RoutedEventArgs e) { ManifestacijaKlasa m = null; if (TabelaManifestacija.SelectedValue is ManifestacijaKlasa) { MessageBoxResult result = System.Windows.MessageBox.Show("Da li ste sigurni da želite da obrišete manifestaciju?", "Brisanje manifestacije", MessageBoxButton.YesNo); switch (result) { case MessageBoxResult.Yes: m = (ManifestacijaKlasa)TabelaManifestacija.SelectedValue; baza.brisanjeManifestacije(m); MainWindow.Instance.izbrisiManf(m); Mpom = baza.Manifestacije; break; case MessageBoxResult.No: break; case MessageBoxResult.Cancel: break; } } else { System.Windows.MessageBox.Show("Niste odabrali manifestaciju za brisanje!", "Brisanje manifestacije"); } }
private void DraggedImageMouseMove(object sender, MouseEventArgs e) { System.Windows.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)) { try { ManifestacijaKlasa selektovana = (ManifestacijaKlasa)tree.SelectedValue; if (selektovana != null) { Image img = sender as Image; canvasMap.Children.Remove(img); DataObject dragData = new DataObject("manifestacija", selektovana); DragDrop.DoDragDrop(img, dragData, DragDropEffects.Move); } } catch { } } }
private void pretraga_po_oznaci(object sender, TextChangedEventArgs e) { System.Windows.Controls.TextBox textbox = sender as System.Windows.Controls.TextBox; string filter = textbox.Text; ICollectionView cv = CollectionViewSource.GetDefaultView(mpom); if (filter == "") { cv.Filter = null; } else { cv.Filter = o => { ManifestacijaKlasa man = o as ManifestacijaKlasa; string[] words = filter.Split(' '); if (words.Contains("")) { words = words.Where(word => word != "").ToArray(); } return(words.Any(word => man.Oznaka.ToUpper().Contains(word.ToUpper()))); }; TabelaManifestacija.ItemsSource = mpom; } }
public void puniDrvoProvera(ManifestacijaKlasa m) { ObservableCollection <ManifestacijaKlasa> tmp = new ObservableCollection <ManifestacijaKlasa>(); foreach (TipKlasa t in tipovi) { if (m.Tip.Oznaka.Equals(t.Oznaka)) { if (t.manifestacije.Count > 0) { for (int i = 0; i < t.manifestacije.Count; i++) { if (m.Oznaka != t.manifestacije[i].Oznaka) { t.manifestacije.Add(m); //tree.ItemsSource = tipovi; mfList.Add(m); break; } } } else { t.manifestacije.Add(m); mfList.Add(m); } } } }
public void izbrisiManf(ManifestacijaKlasa m) { foreach (TipKlasa t in tipovi) { if (m.Tip.Oznaka.Equals(t.Oznaka)) { for (int i = 0; i < t.manifestacije.Count; i++) { if (m.Oznaka == t.manifestacije[i].Oznaka) { Image zaBrisanje = null; foreach (Image img in canvasMap.Children) { if (t.manifestacije[i].Oznaka.Equals(img.Tag)) { zaBrisanje = img; } } if (zaBrisanje != null) { canvasMap.Children.Remove(zaBrisanje); } t.manifestacije.Remove(t.manifestacije[i]); tree.Items.Refresh(); break; } } } } }
private void Ukloni_Click(object sender, RoutedEventArgs e) { try { ManifestacijaKlasa selektovana = (ManifestacijaKlasa)tree.SelectedItem; if (selektovana != null) { bool postoji = canvasMap.Children.Cast <Image>() .Any(x => x.Tag != null && x.Tag.ToString() == selektovana.Oznaka); if (postoji) { Image img = null; foreach (Image i in canvasMap.Children) { if (i.Tag.Equals(selektovana.Oznaka)) { img = i; } } canvasMap.Children.Remove(img); int idx = 0; foreach (ManifestacijaKlasa m in mfList) { if (selektovana.Oznaka.Equals(m.Oznaka)) { break; } idx++; } baza.Manifestacije[idx].X = -1; baza.Manifestacije[idx].Y = -1; mfList[idx].X = -1; mfList[idx].Y = -1; baza.sacuvajManifestaciju(); baza.ucitajManifestacije(); ucitajSve(); //tree.Items.Refresh(); } } } catch { return; } }
private void tree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { if (tree.SelectedValue is ManifestacijaKlasa) { ManifestacijaKlasa m = (ManifestacijaKlasa)tree.SelectedValue; lastSelected = m; if (!m.Slika.Equals("")) { PrikazIkonice.Source = new BitmapImage(new Uri(m.Slika)); } else { PrikazIkonice.Source = new BitmapImage(new Uri(m.Tip.Slika)); } } else { PrikazIkonice.Source = null; } }
public MainWindow() { instance = this; etikete = new ObservableCollection <EtiketaKlasa>(); tipovi = new ObservableCollection <TipKlasa>(); tip = new TipKlasa(); m = new ManifestacijaKlasa(); baza = new Baza(); InitializeComponent(); WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; this.DataContext = this; tree.Items.Refresh(); baza.ucitajManifestacije(); ucitajSve(); mfList = baza.Manifestacije; baza.ucitajEtikete(); baza.ucitajTipove(); tipovi = baza.Tipovi; puniDrvo(); }
private void IzmeniManifestaciju(object sender, RoutedEventArgs e) { if (TabelaManifestacija.SelectedValue is ManifestacijaKlasa) { ManifestacijaKlasa m = (ManifestacijaKlasa)TabelaManifestacija.SelectedValue; var s = new ManifestacijaIzmena(m); s.ShowDialog(); if (s.idx != -1) { baza.Manifestacije[s.idx] = s.Izmenjena; baza.sacuvajManifestaciju(); baza.ucitajManifestacije(); Mpom = baza.Manifestacije; idx = s.idx; izmenjena = s.Izmenjena; } } else { System.Windows.MessageBox.Show("Niste odabrali manifestaciju za izmenu podataka.", "Izmena manifestacije"); } }
private void PrikazIkonice_MouseMove(object sender, MouseEventArgs e) { System.Windows.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)) { try { ManifestacijaKlasa selektovana = (ManifestacijaKlasa)tree.SelectedValue; if (selektovana != null) { DataObject dragData = new DataObject("manifestacija", selektovana); DragDrop.DoDragDrop(PrikazIkonice, dragData, DragDropEffects.Move); } } catch { return; } } }
public void puniManif(ManifestacijaKlasa m1) { Mpom.Add(m1); TabelaManifestacija.Items.Refresh(); }
private void Sacuvaj(object sender, RoutedEventArgs e) { if (oznaka_tb.Text == "") { System.Windows.MessageBox.Show("Niste popunili oznaku!", "Dodavanje Manifestacije"); return; } else if (naziv_tb.Text == "") { System.Windows.MessageBox.Show("Niste popunili naziv!", "Dodavanje Manifestacije"); return; } else if (alkohol_cb.Text == "") { System.Windows.MessageBox.Show("Niste odabrali alkhol!", "Dodavanje Manifestacije"); return; } else if (cene_cb.Text == "") { System.Windows.MessageBox.Show("Niste odabrali cene!", "Dodavanje Manifestacije"); return; } else if (publika_cb.Text == "") { System.Windows.MessageBox.Show("Niste odabrali publiku!", "Dodavanje Manifestacije"); return; } else if (DatumPicker.Text == "") { System.Windows.MessageBox.Show("Niste odabrali datum!", "Dodavanje Manifestacije"); return; } else if (tip_tb.Text == "") { System.Windows.MessageBox.Show("Niste odabrali tip!", "Dodavanje Manifestacije"); return; } DateTime d = Datum; if (HendikepiranDa.IsChecked == true) { hendikepiranost = true; } if (PusenjeDa.IsChecked == true) { pusenje = true; } if (UnutraDa.IsChecked == true) { odrzavanje = true; } string alkoholi = ""; if (alkohol_cb.SelectedIndex.Equals(-1)) { alkoholi = ""; } else if (alkohol_cb.SelectedItem.Equals("Nema")) { int idx = Alkohol.IndexOf("Nema"); alkoholi = Alkohol[idx]; } else if (alkohol_cb.SelectedItem.Equals("Može se doneti")) { int idx = Alkohol.IndexOf("Može se doneti"); alkoholi = Alkohol[idx]; } else { int idx = Alkohol.IndexOf("Kupiti na licu mesta"); alkoholi = Alkohol[idx]; } string cena = ""; if (cene_cb.SelectedIndex.Equals(-1)) { cena = ""; } else if (cene_cb.SelectedItem.Equals("Besplatno")) { int idx = Cene.IndexOf("Besplatno"); cena = Cene[idx]; } else if (cene_cb.SelectedItem.Equals("Niske")) { int idx = Cene.IndexOf("Niske"); cena = Cene[idx]; } else if (cene_cb.SelectedItem.Equals("Srednje")) { int idx = Cene.IndexOf("Srednje"); cena = Cene[idx]; } else { int idx = Cene.IndexOf("Visoke"); cena = Cene[idx]; } string publike = ""; if (publika_cb.SelectedIndex.Equals(-1)) { publike = ""; } else if (publika_cb.SelectedItem.Equals("Deca")) { int idx = Publika.IndexOf("Deca"); publike = Publika[idx]; } else if (publika_cb.SelectedItem.Equals("Odrasli")) { int idx = Publika.IndexOf("Odrasli"); publike = Publika[idx]; } else { int idx = Publika.IndexOf("Svi uzrasti"); publike = Publika[idx]; } Opis = opis_tb.Text; if (slika == null && tip.Slika != null) { if (tip.Slika != "") { slika = tip.Slika; } } else if (slika == null && tip.Slika == null) { slika = System.IO.Path.GetFullPath(@"..\..\") + "Images\\defLoc.png"; } string s = oznaka; s = s.Replace(' ', '_'); oznaka = s; datum = (DateTime)DatumPicker.SelectedDate; ManifestacijaKlasa m = new ManifestacijaKlasa(oznaka, naziv, opis, alkoholi, cena, publike, datum, hendikepiranost, pusenje, odrzavanje, slika, tip, etikete); bool manif = baza.addManifestaciju(m); if (manif) { baza.sacuvajManifestaciju(); mfList = baza.Manifestacije; MainWindow.Instance.puniDrvoProvera(m); if (pocetni.Instanca != null) { pocetni.Instanca.puniManif(m); } this.Close(); } else { System.Windows.MessageBox.Show("Manifestacija sa tom oznakom već postoji!", "Dodavanje Manifestacije"); } }
private void dropOnMe_Drop(object sender, DragEventArgs e) { baza.ucitajManifestacije(); if (e.Data.GetDataPresent("manifestacija")) { ManifestacijaKlasa m = e.Data.GetData("manifestacija") as ManifestacijaKlasa; bool result = canvasMap.Children.Cast <Image>() .Any(x => x.Tag != null && x.Tag.ToString() == m.Oznaka); // bool preklapanje = false; System.Windows.Point d0 = e.GetPosition(canvasMap); foreach (ManifestacijaKlasa r0 in baza.Manifestacije) { if (m.Oznaka != r0.Oznaka) //ako hoce da pomeri manifesatciju jako malo da ne okida dole { if (r0.X != -1 && r0.Y != -1) { if (Math.Abs(r0.X - d0.X) <= 30 && Math.Abs(r0.Y - d0.Y) <= 30) { System.Windows.MessageBox.Show("Manifestacija sa ovom lokacijom već postoji na mapi! Ponovo unesite manifestaciju na mapu.", "Premeštanje manifestacije na mapi"); ucitajSve(); return; } } } } if (result == false) { Image img = new Image(); if (!m.Slika.Equals("")) { img.Source = new BitmapImage(new Uri(m.Slika)); } else { img.Source = new BitmapImage(new Uri(m.Tip.Slika)); } img.Width = 50; img.Height = 50; img.Tag = m.Oznaka; var positionX = e.GetPosition(canvasMap).X; var positionY = e.GetPosition(canvasMap).Y; m.X = positionX; m.Y = positionY; WrapPanel wp = new WrapPanel(); wp.Orientation = Orientation.Vertical; TextBox oznaka = new TextBox(); oznaka.IsEnabled = false; oznaka.Text = "Oznaka: " + m.Oznaka; wp.Children.Add(oznaka); TextBox naziv = new TextBox(); naziv.IsEnabled = false; naziv.Text = "Naziv: " + m.Naziv; wp.Children.Add(naziv); TextBox tip = new TextBox(); tip.IsEnabled = false; tip.Text = "Tip: " + m.Tip.Oznaka; wp.Children.Add(tip); TextBox opis = new TextBox(); opis.IsEnabled = false; opis.Text = "Opis: " + m.Opis; wp.Children.Add(opis); TextBox datum = new TextBox(); datum.IsEnabled = false; datum.Text = "Datum: " + m.Datum.ToShortDateString(); wp.Children.Add(datum); TextBox hendikepiranost = new TextBox(); hendikepiranost.IsEnabled = false; if (m.Hendikepiranost) { hendikepiranost.Text = "Dostupan za hendikepirane: Da"; } else { hendikepiranost.Text = "Dostupan za hendikepirane: Ne"; } wp.Children.Add(hendikepiranost); TextBox pusenje = new TextBox(); pusenje.IsEnabled = false; if (m.Pusenje) { pusenje.Text = "Dozvoljeno pusenje: Da"; } else { pusenje.Text = "Dozvoljeno pusenje: Ne"; } wp.Children.Add(pusenje); TextBox odrzavanje = new TextBox(); odrzavanje.IsEnabled = false; if (m.Odrzavanje) { odrzavanje.Text = "Odrzava se: Unutra"; } else { odrzavanje.Text = "Odrzava se: Napolju"; } wp.Children.Add(odrzavanje); TextBox alkohol = new TextBox(); alkohol.IsEnabled = false; alkohol.Text = "Alkohol: " + m.Alkohol; wp.Children.Add(alkohol); TextBox cene = new TextBox(); cene.IsEnabled = false; cene.Text = "Cene: " + m.Cene; wp.Children.Add(cene); TextBox publika = new TextBox(); publika.IsEnabled = false; publika.Text = "Publika: " + m.Publika; wp.Children.Add(publika); TextBox etikete = new TextBox(); etikete.IsEnabled = false; etikete.Text = "Etikete:" + System.Environment.NewLine; ListaEtiketa = ""; StringBuilder sb = new StringBuilder(ListaEtiketa); ObservableCollection <EtiketaKlasa> list = m.Etikete; foreach (EtiketaKlasa et in list) { sb.Append(et.Oznaka); sb.Append(System.Environment.NewLine); } ListaEtiketa = sb.ToString(); etikete.Text += ListaEtiketa; ListaEtiketa = ""; wp.Children.Add(etikete); ToolTip tt = new ToolTip(); tt.Content = wp; img.ToolTip = tt; img.PreviewMouseLeftButtonDown += DraggedImagePreviewMouseLeftButtonDown; img.MouseMove += DraggedImageMouseMove; ObservableCollection <ManifestacijaKlasa> mfLista = baza.Manifestacije; int idx = 0; foreach (ManifestacijaKlasa ma in mfLista) { if (ma.Oznaka.Equals(m.Oznaka)) { break; } idx++; } mfLista[idx] = m; baza.Manifestacije = mfLista; baza.sacuvajManifestaciju(); canvasMap.Children.Add(img); Canvas.SetLeft(img, m.X - 20); Canvas.SetTop(img, m.Y - 20); } else { System.Windows.MessageBox.Show("Manifestacija sa ovom oznakom već postoji na mapi!", "Dodavanje manifestacije na mapu"); } } }
public void izmeniManf(ManifestacijaKlasa m) { foreach (TipKlasa t in tipovi) { if (m.Tip.Oznaka.Equals(t.Oznaka)) { for (int i = 0; i < t.manifestacije.Count; i++) { if (m.Oznaka == t.manifestacije[i].Oznaka) { t.manifestacije[i].setAll(m); Image zaMenjanje = null; int idx = 0; foreach (Image img in canvasMap.Children) { if (t.manifestacije[i].Oznaka.Equals(img.Tag)) { zaMenjanje = img; break; } idx++; } if (zaMenjanje != null) { WrapPanel wp = new WrapPanel(); wp.Orientation = Orientation.Vertical; TextBox oznaka = new TextBox(); oznaka.IsEnabled = false; oznaka.Text = "Oznaka: " + m.Oznaka; wp.Children.Add(oznaka); TextBox naziv = new TextBox(); naziv.IsEnabled = false; naziv.Text = "Naziv: " + m.Naziv; wp.Children.Add(naziv); TextBox tip = new TextBox(); tip.IsEnabled = false; tip.Text = "Tip: " + m.Tip.Oznaka; wp.Children.Add(tip); TextBox opis = new TextBox(); opis.IsEnabled = false; opis.Text = "Opis: " + m.Opis; wp.Children.Add(opis); TextBox datum = new TextBox(); datum.IsEnabled = false; datum.Text = "Datum: " + m.Datum.ToShortDateString(); wp.Children.Add(datum); TextBox hendikepiranost = new TextBox(); hendikepiranost.IsEnabled = false; if (m.Hendikepiranost) { hendikepiranost.Text = "Dostupan za hendikepirane: Da"; } else { hendikepiranost.Text = "Dostupan za hendikepirane: Ne"; } wp.Children.Add(hendikepiranost); TextBox pusenje = new TextBox(); pusenje.IsEnabled = false; if (m.Pusenje) { pusenje.Text = "Dozvoljeno pusenje: Da"; } else { pusenje.Text = "Dozvoljeno pusenje: Ne"; } wp.Children.Add(pusenje); TextBox odrzavanje = new TextBox(); odrzavanje.IsEnabled = false; if (m.Odrzavanje) { odrzavanje.Text = "Odrzava se: Unutra"; } else { odrzavanje.Text = "Odrzava se: Napolju"; } wp.Children.Add(odrzavanje); TextBox alkohol = new TextBox(); alkohol.IsEnabled = false; alkohol.Text = "Alkohol: " + m.Alkohol; wp.Children.Add(alkohol); TextBox cene = new TextBox(); cene.IsEnabled = false; cene.Text = "Cene: " + m.Cene; wp.Children.Add(cene); TextBox publika = new TextBox(); publika.IsEnabled = false; publika.Text = "Publika: " + m.Publika; wp.Children.Add(publika); TextBox etikete = new TextBox(); etikete.IsEnabled = false; etikete.Text = "Etikete:" + System.Environment.NewLine; ListaEtiketa = ""; StringBuilder sb = new StringBuilder(ListaEtiketa); ObservableCollection <EtiketaKlasa> list = m.Etikete; foreach (EtiketaKlasa et in list) { sb.Append(et.Oznaka); sb.Append(System.Environment.NewLine); } ListaEtiketa = sb.ToString(); etikete.Text += ListaEtiketa; ListaEtiketa = ""; wp.Children.Add(etikete); ToolTip tt = new ToolTip(); tt.Content = wp; zaMenjanje.ToolTip = tt; if (!m.Slika.Equals("")) { zaMenjanje.Source = new BitmapImage(new Uri(m.Slika)); } else { zaMenjanje.Source = new BitmapImage(new Uri(m.Tip.Slika)); } canvasMap.Children[idx] = zaMenjanje; } } } } } }
private void Izmeni(object sender, RoutedEventArgs e) { if (oznaka_tb.Text == "") { System.Windows.MessageBox.Show("Niste uneli oznaku!", "Izmena podataka"); return; } else if (textbox_naziv.Text == "") { System.Windows.MessageBox.Show("Niste uneli naziv!", "Izmena podataka"); return; } else if (alkohol_cb.Text == "") { System.Windows.MessageBox.Show("Niste odabrali alkhol!", "Izmena podataka"); return; } else if (cene_cb.Text == "") { System.Windows.MessageBox.Show("Niste odabrali cene!", "Izmena podataka"); return; } else if (publika_cb.Text == "") { System.Windows.MessageBox.Show("Niste odabrali publiku!", "Izmena podataka"); return; } else if (DatumPicker.Text == "") { System.Windows.MessageBox.Show("Niste odabrali datum!", "Izmena podataka"); return; } else if (textbox_tip.Text == "") { System.Windows.MessageBox.Show("Niste odabrali tip!", "Izmena podataka"); return; } else { bool _hendikepiranost = false; if (HendikepiranostDa) { _hendikepiranost = true; } bool _pusenje = false; if (PusenjeDa) { _pusenje = true; } bool _odrzava = false; if (odrzavaUnutra) { _odrzava = true; } Izmenjena = new ManifestacijaKlasa(Oznaka, Naziv, Opis, CAlkohol, CCene, CPublika, Datum, _hendikepiranost, _pusenje, _odrzava, Slika, Tip, Etikete); Baza b = new Baza(); idx = 0; foreach (ManifestacijaKlasa mf in b.Manifestacije) { if (mf.Oznaka == izmenjena.Oznaka) { break; } idx++; } b.Manifestacije.RemoveAt(idx); b.Manifestacije.Add(Izmenjena); b.sacuvajManifestaciju(); MainWindow.Instance.izmeniManf(izmenjena); this.Close(); } }
public ManifestacijaIzmena(ManifestacijaKlasa m) { baza = new Baza(); Alkohol = new ObservableCollection <string>(); Alkohol.Add("Nema"); Alkohol.Add("Može se doneti"); Alkohol.Add("Kupiti na licu mesta"); Cene = new ObservableCollection <string>(); Cene.Add("Besplatno"); Cene.Add("Niske"); Cene.Add("Srednje"); Cene.Add("Visoke"); Publika = new ObservableCollection <string>(); Publika.Add("Deca"); Publika.Add("Odrasli"); Publika.Add("Svi uzrasti"); etikete = new ObservableCollection <EtiketaKlasa>(); tip = new TipKlasa(); this.DataContext = this; WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; selektovana = m; Oznaka = m.Oznaka; Naziv = m.Naziv; Opis = m.Opis; Slika = m.Slika; CAlkohol = m.Alkohol; CCene = m.Cene; CPublika = m.Publika; Tip = m.Tip; OznakaTipa = Tip.Oznaka; Etikete = m.Etikete; bool hendikepiranost = m.Hendikepiranost; if (hendikepiranost) { HendikepiranostDa = true; HendikepiranostNe = false; } else { HendikepiranostDa = false; HendikepiranostNe = true; } bool pusenje = m.Pusenje; if (pusenje) { PusenjeDa = true; PusenjeNe = false; } else { PusenjeDa = false; pusenjeNe = true; } bool odrzava = m.Odrzavanje; if (odrzava) { OdrzavaUnutra = true; OdrzavaNapolju = false; } else { OdrzavaUnutra = false; OdrzavaNapolju = true; } Datum = m.Datum; if (Etikete.Count > 0) { StringBuilder sb = new StringBuilder(ListaEtiketa); foreach (EtiketaKlasa et in Etikete) { sb.Append(et.Oznaka); sb.Append(System.Environment.NewLine); } ListaEtiketa = sb.ToString(); } InitializeComponent(); WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; }