private void PopuniPolaznike(ErsteModel ersteModel) { var list = ersteModel.polaznici .Where(e => e.grupe.Any(g => g.Id == grupa.Id)) .ToList(); list.Sort((a, b) => { int res; if ((res = string.Compare(a.osoba.Ime, b.osoba.Ime, StringComparison.Ordinal)) != 0) { return(res); } return(string.Compare(a.osoba.Prezime, b.osoba.Prezime, StringComparison.Ordinal)); }); PolazniciTable.Items.Clear(); PolazniciTable.ItemsSource = null; foreach (var polaznik in list) { if (polaznik.osoba != null) { PolazniciTable.Items.Add(polaznik); } } }
private void Load_Data() { DataGrid.Items.Clear(); DataGrid.ItemsSource = null; DataGrid.Items.Refresh(); try { using (var ersteModel = new ErsteModel()) { var sluzbenici = (from sluzbenik in ersteModel.sluzbenici.Include("osoba") join osoba in ersteModel.osobe.Include("sluzbenik") on sluzbenik.Id equals osoba.Id select sluzbenik).ToList(); foreach (var sluzbenik in sluzbenici) { if (sluzbenik.osoba != null) { DataGrid.Items.Add(sluzbenik); } } } } catch (Exception ex) { MessageBox.Show("MySQL Exception: " + ex.ToString()); } }
private void Load_Data() { DataGrid.Items.Clear(); DataGrid.ItemsSource = null; DataGrid.Items.Refresh(); try { using (var ersteModel = new ErsteModel()) { var profesori = (from profesor in ersteModel.profesori join osoba in ersteModel.osobe on profesor.Id equals osoba.Id select profesor).ToList(); foreach (var profesor in profesori) { if (profesor.osoba != null) { DataGrid.Items.Add(profesor); } } } } catch (Exception ex) { MessageBox.Show("MySQL Exception: " + ex.ToString()); } }
public void AddButtonActions(params Button[] buttons) { buttons[0].Click += (sender, args) => { NalogSluzbenikaDialog nalogSluzbenikaDialog = new NalogSluzbenikaDialog(null); nalogSluzbenikaDialog.ShowDialog(); Load_Data(); }; buttons[1].Click += (sender, args) => { var dataGridSelectedItems = DataGrid.SelectedItems; using (var ersteModel = new ErsteModel()) { foreach (var dataGridSelectedItem in dataGridSelectedItems) { var sluzbenikRemove = ersteModel.sluzbenici.Find(((sluzbenik)dataGridSelectedItem).Id); if (sluzbenikRemove?.osoba != null) { ersteModel.osobe.Remove(sluzbenikRemove.osoba); ersteModel.SaveChanges(); } } } Load_Data(); }; }
public void AddButtonActions(params Button[] buttons) { buttons[0].Click += (sender, args) => { EvidencijaProfesoraDialog evidencijaProfesoraDialog = new EvidencijaProfesoraDialog(null); evidencijaProfesoraDialog.ShowDialog(); Load_Data(); }; buttons[1].Click += (sender, args) => { var dataGridSelectedItems = DataGrid.SelectedItems; using (var ersteModel = new ErsteModel()) { foreach (var dataGridSelectedItem in dataGridSelectedItems) { var profesorRemove = ersteModel.profesori.Find(((profesor)dataGridSelectedItem).Id); if (profesorRemove?.osoba != null) { ersteModel.osobe.Remove(profesorRemove.osoba); ersteModel.SaveChanges(); } } } Load_Data(); }; }
private void Load_Data() { DataGrid.Items.Clear(); DataGrid.ItemsSource = null; DataGrid.Items.Refresh(); try { using (var ersteModel = new ErsteModel()) { var kursevi = (from kurs in ersteModel.kursevi join jezik in ersteModel.jezici on kurs.JezikId equals jezik.Id select kurs).ToList(); foreach (var kurs in kursevi) { if (kurs.jezik != null) { DataGrid.Items.Add(kurs); } } } } catch (Exception ex) { MessageBox.Show("MySQL Exception: " + ex.ToString()); } }
private void btn_PrikaziGrupe_Click(object sender, RoutedEventArgs e) { ResetBorderColors(); int odabraniJezikInt = chb_Jezik.SelectedIndex; int odabraniNivoInt = chb_Nivo.SelectedIndex; if (odabraniJezikInt < 0 || odabraniNivoInt < 0) { MessageBox.Show("Odaberite jezik i nivo kursa za prikaz grupa."); chb_Jezik.BorderBrush = Brushes.Red; chb_Nivo.BorderBrush = Brushes.Red; return; } string odabraniJezik = (string)chb_Jezik.Items.GetItemAt(odabraniJezikInt); string odabraniNivo = (string)chb_Nivo.Items.GetItemAt(odabraniNivoInt); if (string.IsNullOrEmpty(odabraniJezik)) { MessageBox.Show("Odaberite jezik za prikaz grupa."); chb_Jezik.BorderBrush = Brushes.Red; return; } else if (string.IsNullOrEmpty(odabraniNivo)) { MessageBox.Show("Odaberite nivo kursa za prikaz grupa."); chb_Nivo.BorderBrush = Brushes.Red; return; } using (var ersteModel = new ErsteModel()) { var kursGrupa = (from g in ersteModel.grupe join k in ersteModel.kursevi on g.KursId equals k.Id join j in ersteModel.jezici on k.JezikId equals j.Id where g.BrojClanova >= 1 && k.DatumDo.CompareTo(DateTime.Now) > 0 && j.Naziv.Equals(odabraniJezik) && k.Nivo.Equals(odabraniNivo) select new GrupaKursZapis { Grupa = g, Kurs = k, Jezik = j }).ToList(); if (kursGrupa.Count == 0) { MessageBox.Show("Nema formiranih grupa."); return; } foreach (var zapis in kursGrupa) { if (!GrupeDataGrid.Items.Contains(zapis)) { GrupeDataGrid.Items.Add(zapis); } } } }
private void PopuniTermineCombo(ErsteModel ersteModel) { var termini = ersteModel.termini.Where(e => e.GrupaId != grupa.Id).ToList(); dodavanjeTermina.Items.Clear(); foreach (var termin in termini) { dodavanjeTermina.Items.Add($"{termin.Dan} ({termin.Od:hh\\:mm}-{termin.Do:hh\\:mm})"); } }
private void InitCombos() { using (ErsteModel ersteModel = new ErsteModel()) { foreach (var naziv in ersteModel.jezici.Select(e => e.Naziv).ToList()) { JezikCombo.Items.Add(naziv); } foreach (var nivo in ersteModel.kursevi.Select(e => e.Nivo).Distinct().ToList()) { NivoKursaCombo.Items.Add(nivo); } } }
private void PopuniProfesoreCombo(ErsteModel ersteModel) { var profesori = ersteModel.profesori.ToList(); foreach (profesor profesor in ProfesoriTable.Items) { profesori.RemoveAll(e => e.Id == profesor.Id); } dodavanjeProfesora.Items.Clear(); foreach (var profesor in profesori) { dodavanjeProfesora.Items.Add($"{profesor.osoba.Ime} {profesor.osoba.Prezime} ({profesor.osoba.Email})"); } }
private void PromjenaGrupe_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { if (flag) { using (ErsteModel ersteModel = new ErsteModel()) { if (e.AddedItems.Count > 0) { string text = e.AddedItems[0].ToString(); grupa = ersteModel.grupe.First(g => g.Naziv == text); Init(); NazivGrupeCombo.Text = text; } } } }
private void loadChb() { using (var ersteModel = new ErsteModel()) { var jezici = (from j in ersteModel.jezici select j).Select(j => j.Naziv); //var nivoi = (from k in ersteModel.kursevi select k).Select(k => k.Nivo); // nivoi = nivoi.Distinct(); foreach (string naziv in jezici) { chb_Jezik.Items.Add(naziv); } //foreach( string nivo in nivoi) // chb_Nivo.Items.Add(nivo); } }
private void Init() { if (grupa == null) { using (ErsteModel model = new ErsteModel()) { grupa = model.grupe.FirstOrDefault(); } } if (grupa is null) { NazivGrupeCombo.IsEnabled = false; return; } using (ErsteModel ersteModel = new ErsteModel()) { BrojClanovaBox.Text = $"{ersteModel.polaznici.Count(e => e.grupe.Any(g => g.Id == grupa.Id))}"; kurs kurs = ersteModel.kursevi.First(e => e.grupe.Any(p => p.Id == grupa.Id)); if (!(kurs is null)) { NazivGrupeCombo.Items.Clear(); NazivGrupeCombo.ItemsSource = null; var grupe = ersteModel.grupe.Select(e => e.Naziv).ToList(); foreach (var naziv in grupe) { NazivGrupeCombo.Items.Add(naziv); } //NazivGrupeCombo.Text = $"{grupa.Naziv}"; flag = false; NazivGrupeCombo.SelectedIndex = grupe.IndexOf(grupa.Naziv); flag = true; NivoKursa.Text = $"{kurs.Nivo}"; jezik jezik = ersteModel.jezici.Find(kurs.JezikId); if (!(jezik is null)) { jezikKursa.Text = $"{jezik.Naziv}"; } } PopuniTermine(ersteModel); PopuniPolaznike(ersteModel); PopuniProfesore(ersteModel); PopuniPolaznikeCombo(ersteModel); PopuniProfesoreCombo(ersteModel); PopuniTermineCombo(ersteModel); } }
private void DodavanjePolaznika_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { Func <string, string[]> parser = s => { string[] result = new string[3]; var splittedString = s.Split(' '); if (splittedString.Length >= 3) { result[2] = splittedString[splittedString.Length - 1].Substring(1, splittedString[splittedString.Length - 1].Length - 2); result[1] = splittedString[splittedString.Length - 2]; result[0] = splittedString.Take(splittedString.Length - 2).Aggregate("", (acc, x) => acc + x);; } return(result); }; if (flag) { using (ErsteModel ersteModel = new ErsteModel()) { if (e.AddedItems.Count > 0) { string text = e.AddedItems[0].ToString(); var p = parser(text); string ime = p[0]; string prezime = p[1]; string email = p[2]; polaznik polaznik = ersteModel.polaznici.First(g => g.osoba.Ime == ime && g.osoba.Prezime == prezime && g.osoba.Email == email); grupa grupica = ersteModel.grupe.Where(gr => gr.Id == grupa.Id).ToList().First(); grupica.polaznici.Add(polaznik); polaznik.grupe.Add(grupica); string odabraniNivo = NivoKursa.Text; string odabraniJezik = jezikKursa.Text; polaznik_na_cekanju p_na_c = polaznik.polaznik_na_cekanju; kurs kurs_za_p_na_c = p_na_c.kursevi.First(k => k.Nivo.Equals(odabraniNivo) && k.jezik.Naziv.Equals(odabraniJezik)); kurs_za_p_na_c.polaznici_na_cekanju.Remove(p_na_c); p_na_c.kursevi.Remove(kurs_za_p_na_c); p_na_c.polaznik.polaznik_na_cekanju = null; ersteModel.SaveChanges(); Init(); NazivGrupeCombo.Text = text; } } } }
private async void Potvrdi_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(DanCombo.Text)) { MessageBox.Show("Odaberite dan termina."); return; } if (string.IsNullOrWhiteSpace(TimePickerOd.Value.ToString()) || string.IsNullOrWhiteSpace(TimePickerDo.Value.ToString())) { MessageBox.Show("Popunite termine."); return; } Func <DateTime?, DateTime?, bool> compare = (a, b) => a?.TimeOfDay.CompareTo(b?.TimeOfDay) > 0; if (compare(TimePickerOd.Value, TimePickerDo.Value)) { MessageBox.Show("Termin početka mora biti prije termina završetka."); return; } using (ErsteModel ersteModel = new ErsteModel()) { termin termin = await ersteModel.termini.FindAsync(item.termin.Id); if (termin != null) { termin.Dan = DanCombo.Text; if (TimePickerOd.Value != null) { termin.Od = TimePickerOd.Value.Value.TimeOfDay; } if (TimePickerDo.Value != null) { termin.Do = TimePickerDo.Value.Value.TimeOfDay; } if (GrupaCombo.Text != "Nije dodijeljena grupa" && !string.IsNullOrWhiteSpace(GrupaCombo.Text)) { termin.GrupaId = (await ersteModel.grupe.FirstAsync(g => g.Naziv == GrupaCombo.Text)).Id; } await ersteModel.SaveChangesAsync(); } } Close(); refresh(); }
private void ObrisiKurs() { try { using (var ersteModel = new ErsteModel()) { kurs kurs_remove = ersteModel.kursevi.Find(kurs.Id); ersteModel.kursevi.Remove(kurs_remove); ersteModel.SaveChanges(); } MessageBox.Show("Kurs je uspješno obrisan."); Close(); } catch (Exception ex) { MessageBox.Show("MySQL Exception: " + ex.ToString()); } }
private async void PregledGrupe_OnMouseUp(object sender, MouseButtonEventArgs e) { string NazivGrupe = null; grupa grupa; if (Dispatcher != null) { await Dispatcher.InvokeAsync(() => { NazivGrupe = GrupaCombo.SelectedItem.ToString(); }); } if (NazivGrupe == null || NazivGrupe == "Nije dodijeljena grupa") { MessageBox.Show("Nije dodijeljena grupa."); return; } using (ErsteModel ersteModel = new ErsteModel()) { //grupa = await ersteModel.grupe.FirstAsync(g => g.termini!=null && g.profesori!=null && g.polaznici!=null && g.Naziv == NazivGrupe); grupa = await ersteModel.grupe.FirstAsync(g => g.Naziv == NazivGrupe); } if (grupa != null && Dispatcher != null) { await Dispatcher.InvokeAsync(() => { PregledGrupe pregledGrupe = new PregledGrupe(grupa); pregledGrupe.ShowDialog(); }); } else { if (Dispatcher != null) { await Dispatcher.InvokeAsync(() => { MessageBox.Show("Odaberite grupu, pa je onda pregledajte."); }); } } }
private void ObrisiKandidata() { try { using (var ersteModel = new ErsteModel()) { polaznik polaznikRemove = ersteModel.polaznici.Find(polaznik.Id); if (polaznikRemove?.osoba != null) { ersteModel.osobe.Remove(polaznikRemove.osoba); ersteModel.SaveChanges(); } } Close(); } catch (Exception ex) { MessageBox.Show("MySQL Exception: " + ex.ToString()); } }
private void Chb_Jezik_SelectionChanged(object sender, SelectionChangedEventArgs e) { string odabraniJezik = (string)chb_Jezik.SelectedItem; using (var ersteModel = new ErsteModel()) { chb_Nivo.IsEnabled = true; chb_Nivo.Items.Clear(); var nivoi = (from k in ersteModel.kursevi join j in ersteModel.jezici on k.JezikId equals j.Id where j.Naziv.Equals(odabraniJezik) select k.Nivo).ToList(); var distNivoi = nivoi.Distinct(); foreach (var nivo in distNivoi) { chb_Nivo.Items.Add(nivo); } } }
private async Task Load_Data() { if (Dispatcher != null) { await Dispatcher.InvokeAsync(() => { DataGrid.Items.Clear(); DataGrid.ItemsSource = null; DataGrid.Items.Refresh(); }); } try { using (var ersteModel = new ErsteModel()) { if ("svi".Equals(mode)) { var polaznici = await(from polaznik in ersteModel.polaznici.Include("osoba") join osoba in ersteModel.osobe.Include("polaznik") on polaznik.Id equals osoba.Id select polaznik).ToListAsync(); foreach (var polaznik in polaznici) { if (polaznik.osoba != null && Dispatcher != null) { await Dispatcher.InvokeAsync(() => { DataGrid.Items.Add(polaznik); }); } } } } } catch (Exception ex) { if (Dispatcher != null) { MessageBox.Show("Greska"); } } }
public async Task Load_Data() { if (Dispatcher != null) { await Dispatcher.InvokeAsync(() => { DataGrid.Items.Clear(); DataGrid.ItemsSource = null; DataGrid.Items.Refresh(); }); } try { using (var ersteModel = new ErsteModel()) { var polazniciNaCekanju = ersteModel.polaznici_na_cekanju.ToList(); foreach (var polaznikNaCekanju in polazniciNaCekanju) { var kursevi = polaznikNaCekanju.kursevi.ToList(); foreach (var k in kursevi) { PolaznikNaCekanjuKurs pnck = new PolaznikNaCekanjuKurs { Osoba = polaznikNaCekanju.polaznik.osoba, Kurs = k, Jezik = k.jezik }; await Dispatcher.InvokeAsync(() => { DataGrid.Items.Add(pnck); }); } } } } catch (Exception ex) { if (Dispatcher != null) { MessageBox.Show("MySQL Exception: " + ex); } } }
private void ObrisiSluzbenika() { try { using (var ersteModel = new ErsteModel()) { sluzbenik sluzbenik_remove = ersteModel.sluzbenici.Find(sluzbenik.Id); if (sluzbenik_remove.osoba != null) { ersteModel.osobe.Remove(sluzbenik_remove.osoba); ersteModel.SaveChanges(); } } MessageBox.Show("Korisnik je uspješno obrisan."); Close(); } catch (Exception ex) { MessageBox.Show("MySQL Exception: " + ex.ToString()); } }
private void ObrisiProfesora() { try { using (var ersteModel = new ErsteModel()) { profesor profesor_remove = ersteModel.profesori.Find(profesor.Id); if (profesor_remove.osoba != null) { ersteModel.osobe.Remove(profesor_remove.osoba); ersteModel.SaveChanges(); } } MessageBox.Show("Korisnik je uspješno obrisan."); Close(); } catch (Exception ex) { MessageBox.Show("MySQL Exception: " + ex.ToString()); } }
private void PopuniPolaznikeCombo(ErsteModel ersteModel) { string odabraniNivo = NivoKursa.Text; string odabraniJezik = jezikKursa.Text; var polazniciNaCekanju = (from p_na_c in ersteModel.polaznici_na_cekanju where p_na_c.kursevi.Any(k => k.Nivo.Equals(odabraniNivo) && k.jezik.Naziv.Equals(odabraniJezik)) select p_na_c).ToList(); //var polaznici = ersteModel.polaznici.ToList(); //foreach (polaznik polaznik in PolazniciTable.Items) //{ // polaznici.RemoveAll(e => e.Id == polaznik.Id); //} dodavanjePolaznika.Items.Clear(); foreach (var polaznikNaCekanju in polazniciNaCekanju) { dodavanjePolaznika.Items.Add($"{polaznikNaCekanju.polaznik.osoba.Ime}" + $" {polaznikNaCekanju.polaznik.osoba.Prezime} ({polaznikNaCekanju.polaznik.osoba.Email})"); } }
private void DodavanjeTermina_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { Func <string, (string, int, int, int, int)> parser = s => { var splittedString = s.Split(' '); string date = splittedString[1]; var niz = date.Substring(1, date.Length - 2).Split('-'); string[] ar1 = niz[0].Split(':'); string[] ar2 = niz[1].Split(':'); return(splittedString[0], int.Parse(ar1[0]), int.Parse(ar1[1]), int.Parse(ar2[0]), int.Parse(ar2[1])); }; if (flag) { using (ErsteModel ersteModel = new ErsteModel()) { if (e.AddedItems.Count > 0) { string text = e.AddedItems[0].ToString(); var p = parser(text); string dan = p.Item1; int sat1 = p.Item2; int min1 = p.Item3; int sat2 = p.Item4; int min2 = p.Item5; termin termin = ersteModel.termini.First(t => t.Dan == dan && t.Od.Hours == sat1 && t.Od.Minutes == min1 && t.Do.Hours == sat2 && t.Do.Minutes == min2); grupa grupica = ersteModel.grupe.Where(gr => gr.Id == grupa.Id).ToList().First(); grupica.termini.Add(termin); termin.grupa = grupica; ersteModel.SaveChanges(); Init(); NazivGrupeCombo.Text = text; } } } }
private void Init() { DanCombo.Text = item.dan; TimePickerOd.Value = new DateTime(2020, 01, 01, 0, 0, 0) + item.vrijemeOd; TimePickerDo.Value = new DateTime(2020, 01, 01, 0, 0, 0) + item.vrijemeDo; try { using (ErsteModel ersteModel = new ErsteModel()) { GrupaCombo.Items.Clear(); foreach (var naziv in ersteModel.grupe.Select(e => e.Naziv).ToList()) { GrupaCombo.Items.Add(naziv); } if (item.GrupaId.HasValue) { grupa find = ersteModel.grupe.Find(item.GrupaId); if (find is null) { GrupaCombo.Items.Add("Nije dodijeljena grupa"); GrupaCombo.Text = "Nije dodijeljena grupa"; } else { GrupaCombo.Text = find.Naziv; } } else { GrupaCombo.Items.Add("Nije dodijeljena grupa"); GrupaCombo.Text = "Nije dodijeljena grupa"; } } } catch (IOException e) { MessageBox.Show("Greška"); } }
public EvidencijaKursaDialog(kurs kurs) { InitializeComponent(); try { using (var ersteModel = new ErsteModel()) { var jezici = (from jezik in ersteModel.jezici select jezik).ToList(); foreach (var jezik in jezici) { comboBoxList.Add(jezik); } comboBox_Jezik.ItemsSource = comboBoxList; } } catch (Exception ex) { MessageBox.Show("MySQL Exception: " + ex.ToString()); } this.kurs = kurs; if (kurs != null) { Button1.Content = izmjeni; Button2.Content = obrisi; comboBox_Jezik.IsEnabled = false; textBox_Nivo.IsEnabled = false; TimePickerOd.IsEnabled = false; TimePickerDo.IsEnabled = false; comboBox_Jezik.SelectedIndex = comboBoxList.IndexOf(kurs.jezik); textBox_Nivo.Text = kurs.Nivo; TimePickerOd.SelectedDate = kurs.DatumOd; TimePickerDo.SelectedDate = kurs.DatumDo; } }
private void PopuniTermine(ErsteModel ersteModel) { var list = ersteModel.termini .Where(e => e.GrupaId == grupa.Id) .ToList(); var newList = list.Select(e => new { Dan = e.Dan, OdString = e.Od.ToString(@"hh\:mm"), DoString = e.Do.ToString(@"hh\:mm"), Od = e.Od, Do = e.Do }).ToList(); newList.Sort((a, b) => { int first = GetRedniBroj(a.Dan); int second = GetRedniBroj(b.Dan); int res; if ((res = first.CompareTo(second)) != 0) { return(res); } if (a.Od < b.Od) { return(-1); } return(1); }); TerminiTable.Items.Clear(); TerminiTable.ItemsSource = null; foreach (var termin in newList) { TerminiTable.Items.Add(termin); } }
private void DodavanjeProfesora_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { Func <string, string[]> parser = s => { string[] result = new string[3]; var splittedString = s.Split(' '); if (splittedString.Length >= 3) { result[2] = splittedString[splittedString.Length - 1].Substring(1, splittedString[splittedString.Length - 1].Length - 2); result[1] = splittedString[splittedString.Length - 2]; result[0] = splittedString.Take(splittedString.Length - 2).Aggregate("", (acc, x) => acc + x);; } return(result); }; if (flag) { using (ErsteModel ersteModel = new ErsteModel()) { if (e.AddedItems.Count > 0) { string text = e.AddedItems[0].ToString(); var p = parser(text); string ime = p[0]; string prezime = p[1]; string email = p[2]; profesor profesor = ersteModel.profesori.First(g => g.osoba.Ime == ime && g.osoba.Prezime == prezime && g.osoba.Email == email); grupa grupica = ersteModel.grupe.Where(gr => gr.Id == grupa.Id).ToList().First(); grupica.profesori.Add(profesor); profesor.grupe.Add(grupica); ersteModel.SaveChanges(); Init(); NazivGrupeCombo.Text = text; } } } }
public void AddButtonActions(params Button[] buttons) { buttons[0].Click += (sender, args) => { EvidencijaKursaDialog evidencijaKursaDialog = new EvidencijaKursaDialog(null); evidencijaKursaDialog.ShowDialog(); Load_Data(); }; buttons[1].Click += (sender, args) => { var dataGridSelectedItems = DataGrid.SelectedItems; using (var ersteModel = new ErsteModel()) { foreach (var dataGridSelectedItem in dataGridSelectedItems) { var kursRemove = ersteModel.kursevi.Find(((kurs)dataGridSelectedItem).Id); ersteModel.kursevi.Remove(kursRemove); ersteModel.SaveChanges(); } } Load_Data(); }; }