-
Notifications
You must be signed in to change notification settings - Fork 0
/
KorisniciWindow.xaml.cs
144 lines (125 loc) · 4.74 KB
/
KorisniciWindow.xaml.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
using NoviHotelWPF.DAOs;
using NoviHotelWPF.Model;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace NoviHotelWPF
{
/// <summary>
/// Interaction logic for KorisniciWindow.xaml
/// </summary>
public partial class KorisniciWindow : Window, INotifyPropertyChanged
{
private bool isButtonEnabled;
public bool IsButtonEnabled
{
get { return isButtonEnabled; }
set
{
isButtonEnabled = value;
OnPropertyChanged("IsButtonEnabled");
}
}
public KorisniciWindow()
{
InitializeComponent();
ICollectionView view = CollectionViewSource.GetDefaultView(Aplikacija.korisnici);
view.SortDescriptions.Add(new SortDescription("korisnickoIme", ListSortDirection.Descending));
dgKorisnici.ItemsSource = view;
dgKorisnici.AutoGenerateColumns = false;
this.DataContext = this;
}
private void btnDodaj_Click(object sender, RoutedEventArgs e)
{
IzmeniKorisnikaWindow ikw = new IzmeniKorisnikaWindow(this, IzmeniKorisnikaWindow.STANJE.DODAVANJE);
ikw.Show();
this.Hide();
}
private void btnObrisi_Click(object sender, RoutedEventArgs e)
{
if (MessageBox.Show("Da li ste sigurni???", "Brisanje korisnika", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
Korisnik k = dgKorisnici.SelectedItem as Korisnik;
Aplikacija.korisnici.Remove(k);
KorisnikDAO.DeleteLogicko(k);
dgKorisnici.Items.Refresh();
}
}
private void btnIzmeni_Click(object sender, RoutedEventArgs e)
{
IzmeniKorisnikaWindow ikw = new IzmeniKorisnikaWindow(this, IzmeniKorisnikaWindow.STANJE.IZMENA);
ikw.Show();
this.Hide();
}
private void btnSacuvaj_Click(object sender, RoutedEventArgs e)
{
//GlavniMeniWindow gmw = new GlavniMeniWindow();
//gmw.Show();
MeniAdministratorWindow meniAdmin = new MeniAdministratorWindow();
meniAdmin.Show();
this.Close();
}
private void btnOdustani_Click(object sender, RoutedEventArgs e)
{
MeniAdministratorWindow meniAdmin = new MeniAdministratorWindow();
meniAdmin.Show();
this.Close();
}
private void btnSearch_Click(object sender, RoutedEventArgs e)
{
string unetTekst = tbUneto.Text;
if (unetTekst != "")
{
popuniTabeluKorisnika();
ObservableCollection<Korisnik> filtriranaLista = new ObservableCollection<Korisnik>();
foreach (Korisnik k in dgKorisnici.Items)
{
if (k.KorisnickoIme.Contains(unetTekst))
{
filtriranaLista.Add(k);
}
}
dgKorisnici.ItemsSource = filtriranaLista;
}
else popuniTabeluKorisnika();
}
private void popuniTabeluKorisnika()
{
ICollectionView view = CollectionViewSource.GetDefaultView(Aplikacija.korisnici);
view.SortDescriptions.Add(new SortDescription("korisnickoIme", ListSortDirection.Descending));
dgKorisnici.ItemsSource = view;
dgKorisnici.AutoGenerateColumns = false;
}
private void dgKorisnici_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//btnEdit.IsEnabled = true;
//btnDelete.IsEnabled = true;
this.IsButtonEnabled = true;
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
GlavniMeniWindow glavniProzor = new GlavniMeniWindow();
glavniProzor.Show();
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}