/// <summary> /// Vytvaranie profilov novych pouzivatelov /// </summary> private void MenuItem_Click_NovyPouzivatel(object paSender, RoutedEventArgs paE) { AddUser pridavanie = new AddUser { WindowStartupLocation = WindowStartupLocation.CenterOwner }; pridavanie.ShowDialog(); if (pridavanie.PodariloSa && !Logika.ContainsPouzivatel(pridavanie.GetMeno())) { string sol = Logika.GenerujSol(); string hesloSolene = Logika.GenerujPosolenuHashku(pridavanie.GetHeslo(), sol); Pouzivatel novy = new Pouzivatel(pridavanie.GetMeno(), hesloSolene, pridavanie.GetTyp(), pridavanie.GetEmail(), pridavanie.GetTelefon(), pridavanie.GetPoznamka(), false) { Sol = sol }; Logika.VytvorNovehoPouzivatela(novy); // Email notifikacia EmailClient notifikacia = new EmailClient(novy.Email, "NOTIFIKACIA KANGO", "<b> Práve ste sa registrovali do systému Kango. " + "<br> Vitajte " + novy.Meno + "! </b> <br> Vaše osobné údaje sú:<br>" + "Email: <b>" + novy.Email + "</b><br>" + "Telefón: <b>" + novy.Telefon + "</b><br>" + "Poznámka: <b>" + novy.Poznamka + "</b><br>", Nastavenia); notifikacia.PoslatEmail(); MessageBox.Show("Nový používateľ vytvorený!", "Oznámenie", MessageBoxButton.OK, MessageBoxImage.Information); VypisPouzivatelia(); PotrebaUlozit = true; } pridavanie.Close(); }
/// <summary> /// Vytvaranie novych skupin /// </summary> private void MenuItem_Click_NovaSkupina(object paSender, RoutedEventArgs paE) { AddGroup pridavanie = new AddGroup { WindowStartupLocation = WindowStartupLocation.CenterOwner }; pridavanie.ShowDialog(); if (PrihlasenyStav && pridavanie.PodariloSa && !Logika.ContainsSkupina(pridavanie.GetMeno())) { Skupina nova = new Skupina(pridavanie.GetMeno(), pridavanie.GetTyp(), pridavanie.GetPoznamka(), PrihlasenyMeno); Logika.VytvorNovuSkupinu(nova); // Email notifikacia Pouzivatel konkretny = Logika.GetPouzivatel(PrihlasenyMeno); EmailClient notifikacia = new EmailClient(konkretny.Email, "NOTIFIKACIA KANGO", "<b> Práve ste vytvorili skupinu. <br></b>" + "Údaje skupiny sú:<br>" + "Meno: <b>" + nova.Meno + "</b><br>" + "Typ: <b>" + nova.Typ.ToString() + "</b><br>" + "Poznámka: <b>" + nova.Poznamka + "</b><br>", Nastavenia); notifikacia.PoslatEmail(); MessageBox.Show("Vytvorená nová skupina!", "Oznámenie", MessageBoxButton.OK, MessageBoxImage.Information); PotrebaUlozit = true; VypisSkupiny(); } pridavanie.Close(); }
/// <summary> /// Obnova a generovanie noveho hesla /// </summary> private void MenuRenewPass_OnClick(object paSender, RoutedEventArgs paE) { RenewPass obnova = new RenewPass(PrihlasenyStav) { WindowStartupLocation = WindowStartupLocation }; obnova.ShowDialog(); if (PrihlasenyStav && obnova.VstupOkna != "") { string heslo = obnova.VstupOkna; string sol = Logika.GenerujSol(); Pouzivatel zabudlivec = Logika.GetPouzivatel(PrihlasenyMeno); zabudlivec.Heslo = Logika.GenerujPosolenuHashku(heslo, sol); zabudlivec.Sol = sol; //EMAIL -> HESLO EmailClient notifikacia = new EmailClient(zabudlivec.Email, "NOTIFIKACIA KANGO", "<b>Práve ste zmenili heslo do systému Kango.</b><br>" + "Vaše osobné údaje sú:<br>" + "Meno: <b>" + zabudlivec.Meno + "</b><br>" + "Heslo: <b>" + heslo + "</b><br>" + "Email: <b>" + zabudlivec.Email + "</b><br>" + "Telefón: <b>" + zabudlivec.Telefon + "</b><br>", Nastavenia); notifikacia.PoslatEmail(); MenuItem_Click_Save(this, paE); } if (!PrihlasenyStav && obnova.VstupOkna != "") { foreach (Pouzivatel polozka in Logika.GetPouzivatalia()) { if (polozka.Meno == obnova.VstupOkna) { string heslo = Logika.GenerujSol(); string sol = Logika.GenerujSol(); polozka.Heslo = Logika.GenerujPosolenuHashku(heslo, sol); polozka.Sol = sol; // EMAIL -> HESLO EmailClient notifikacia = new EmailClient(polozka.Email, "NOTIFIKACIA KANGO", "<b>Práve ste zmenili heslo do systému Kango.</b><br>" + "Vaše osobné údaje sú:<br>" + "Meno: <b>" + polozka.Meno + "</b><br>" + "Heslo: <b>" + heslo + "</b><br>" + "Email: <b>" + polozka.Email + "</b><br>" + "Telefón: <b>" + polozka.Telefon + "</b><br>", Nastavenia); notifikacia.PoslatEmail(); break; } } MenuItem_Click_Save(this, paE); } obnova.Close(); }
/// <summary> /// Pridanie noveho clena alebo novej podskupiny /// </summary> private void BtnPridajPodClick(object sender, RoutedEventArgs e) { if (PravoZmeny && cbDG_NovPod.SelectedValue != null) { string obsah = cbDG_NovPod.SelectedValue.ToString(); if (DgSwitch) { Skupina novaPod = ((MainWindow)Owner).Logika.GetSkupina(obsah); if (novaPod != null) { _podskupiny.Add(novaPod); _aktSkupina.Podskupiny.Add(novaPod.Meno); //DataGridPod.Items.Add(novaPod); NaplnPodskupin(); VypisPodskupin(); // Email notifikacia Pouzivatel adresat = ((MainWindow)Owner).Logika.GetPouzivatel(_aktSkupina.VeduciSkupiny); EmailClient notifikacia = new EmailClient(adresat.Email, "NOTIFIKACIA KANGO", "<b> Práve ste pridali novú podskupinu. </b><br>" + "Meno podskupiny: <b>" + novaPod.Meno + "</b><br>" + "Typ: <b>" + novaPod.Typ.ToString() + "</b><br>", ((MainWindow)Owner).Nastavenia); notifikacia.PoslatEmail(); } } if (!DgSwitch) { Pouzivatel novyClen = ((MainWindow)Owner).Logika.GetPouzivatel(obsah); if (novyClen != null) { novyClen.Skupiny.Add(_nMeno); _clenovia.Add(novyClen); _aktSkupina.Clenovia.Add(novyClen.Meno); //DataGridPod.Items.Add(novyClen); NaplnClenov(); VypisClenov(); // Email notifikacia Pouzivatel adresat = ((MainWindow)Owner).Logika.GetPouzivatel(_aktSkupina.VeduciSkupiny); EmailClient notifikacia = new EmailClient(novyClen.Email, "NOTIFIKACIA KANGO", "<b> Práve ste boli zaradený do novej skupiny.</b><br>" + "Meno skupiny: <b>" + _aktSkupina.Meno + "</b><br>" + "Typ: <b>" + _aktSkupina.Typ.ToString() + "</b><br>", ((MainWindow)Owner).Nastavenia, adresat); notifikacia.PoslatEmail(); } } BoloPridanie = true; } }
/// <summary> /// Odstranenie clena alebo podskupiny zo skupiny /// </summary> private void BtnDelete_Click(object paSender, RoutedEventArgs paE) { try { if (DgSwitch) { if (PravoZmeny) { Skupina dataRowView = (Skupina)((Button)paE.Source).DataContext; string tMenoOdchod = dataRowView.Meno; foreach (Skupina polozka in _podskupiny) { if (polozka.Meno == tMenoOdchod) { _podskupiny.Remove(polozka); _aktSkupina.Podskupiny.Remove(polozka.Meno); // Email notifikacia Pouzivatel odosielatel = ((MainWindow)Owner).Logika.GetPouzivatel(_aktSkupina.VeduciSkupiny); Pouzivatel adresat = ((MainWindow)Owner).Logika.GetPouzivatel(polozka.VeduciSkupiny); EmailClient notifikacia = new EmailClient(adresat.Email, "NOTIFIKACIA KANGO", "<b> Vaša skupina bola práve odstránená zo skupiny.</b><br>" + "Meno skupiny: <b>" + _aktSkupina.Meno + "</b><br>" + "Typ: <b>" + _aktSkupina.Typ.ToString() + "</b><br>", ((MainWindow)Owner).Nastavenia, odosielatel); notifikacia.PoslatEmail(); break; } } VypisPodskupin(); NaplnPodskupin(); DelPravo(); MessageBox.Show("Zo skupiny odišla podskupina: " + tMenoOdchod); BoloPridanie = true; } else { MessageBox.Show("Nemáte právo editácie."); } } else { if (PravoZmeny) { Pouzivatel dataRowView = (Pouzivatel)((Button)paE.Source).DataContext; string tMenoOdchod = dataRowView.Meno; foreach (Pouzivatel polozka in _clenovia) { if (polozka.Meno == tMenoOdchod) { _clenovia.Remove(polozka); _aktSkupina.Clenovia.Remove(polozka.Meno); Pouzivatel uzivatelOdchod = ((MainWindow)Owner).Logika.GetPouzivatel(polozka.Meno); uzivatelOdchod.Skupiny.Remove(_nMeno); // Email notifikacia Pouzivatel adresat = ((MainWindow)Owner).Logika.GetPouzivatel(_aktSkupina.VeduciSkupiny); EmailClient notifikacia = new EmailClient(polozka.Email, "NOTIFIKACIA KANGO", "<b> Práve ste boli odstránený zo skupiny.</b><br>" + "Meno skupiny: <b>" + _aktSkupina.Meno + "</b><br>" + "Typ: <b>" + _aktSkupina.Typ.ToString() + "</b><br>", ((MainWindow)Owner).Nastavenia, adresat); notifikacia.PoslatEmail(); break; } } VypisClenov(); NaplnClenov(); DelPravo(); MessageBox.Show("Zo skupiny odišiel člen: " + tMenoOdchod); BoloPridanie = true; } else { MessageBox.Show("Nemáte právo editácie."); } } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } }
/// <summary> /// Zobrazenie detailov o používateľovi /// </summary> private void BtnDetailUser_OnClick(object paSender, RoutedEventArgs paE) { try { Pouzivatel dataRowView = (Pouzivatel)((Button)paE.Source).DataContext; string tMeno = dataRowView.Meno; Pouzivatel konkretny = Logika.GetPouzivatel(tMeno); HashSet <Skupina> zaclenenie = null; if (konkretny.Skupiny.Count != 0) { zaclenenie = Logika.GetZaclenenie(tMeno); } bool povolenie = false; if (PrihlasenyStav) { povolenie = (PrihlasenyMeno == tMeno || Logika.GetPouzivatel(PrihlasenyMeno).Typ == FTyp.Administrátor) ? true : false; } DetailUser editovanie = new DetailUser(povolenie, konkretny, zaclenenie) { WindowStartupLocation = WindowStartupLocation.CenterOwner }; editovanie.ShowDialog(); if (PrihlasenyStav && editovanie.BolaZmena) { dataRowView.Meno = konkretny.Meno; dataRowView.Typ = konkretny.Typ; dataRowView.Email = konkretny.Email; dataRowView.Telefon = konkretny.Telefon; dataRowView.Aktivny = konkretny.Aktivny; // Email notifikacia EmailClient notifikacia = new EmailClient(konkretny.Email, "NOTIFIKACIA KANGO", "<b> Práve ste editovali osobné údaje. <br></b>" + "Vaše osobné údaje sú:<br>" + "Meno: <b>" + konkretny.Meno + "</b><br>" + "Email: <b>" + konkretny.Email + "</b><br>" + "Telefón: <b>" + konkretny.Telefon + "</b><br>" + "Poznámka: <b>" + konkretny.Poznamka + "</b><br>", Nastavenia); notifikacia.PoslatEmail(); if (konkretny.Meno != tMeno) { foreach (Skupina polozka in Logika.GetSkupiny()) { if (konkretny.Skupiny.Contains(polozka.Meno)) { polozka.Clenovia.Remove(tMeno); polozka.Clenovia.Add(konkretny.Meno); } if (polozka.VeduciSkupiny == tMeno) { polozka.VeduciSkupiny = konkretny.Meno; } } } MessageBox.Show("Editovali ste používateľa : " + tMeno, "Oznámenie", MessageBoxButton.OK, MessageBoxImage.Information); PotrebaUlozit = true; VypisPouzivatelia(); } editovanie.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } }
/// <summary> /// Zobrazenie detailov o skupine /// </summary> private void BtnDetailGroup_OnClick(object paSender, RoutedEventArgs paE) { try { Skupina dataRowView = (Skupina)((Button)paE.Source).DataContext; string tMeno = dataRowView.Meno; FTyp tTyp = dataRowView.Typ; string tVeduci = dataRowView.VeduciSkupiny; // EDIT Skupina tSkupina = Logika.GetSkupina(tMeno); HashSet <Skupina> tPodskupiny = Logika.GetPodskupiny(tMeno); List <Pouzivatel> tPodUzivatelia = Logika.GetPodPouzivatelov(tMeno); bool povolenie = false; if (PrihlasenyStav) { povolenie = (PrihlasenyMeno == tVeduci || Logika.GetPouzivatel(PrihlasenyMeno).Typ == FTyp.Administrátor) ? true : false; } DetailGroup editovanie = new DetailGroup(povolenie, tSkupina.Meno, tSkupina, tPodUzivatelia, tPodskupiny, this) { WindowStartupLocation = WindowStartupLocation.CenterOwner }; editovanie.ShowDialog(); if (editovanie.BoloPridanie) { PotrebaUlozit = true; } if (PrihlasenyStav && editovanie.BolaZmena) { dataRowView.Meno = tSkupina.Meno; dataRowView.Typ = tSkupina.Typ; dataRowView.VeduciSkupiny = tSkupina.VeduciSkupiny; dataRowView.Poznamka = tSkupina.Poznamka; // Email notifikacia Pouzivatel konkretny = Logika.GetPouzivatel(tSkupina.VeduciSkupiny); EmailClient notifikacia = new EmailClient(konkretny.Email, "NOTIFIKACIA KANGO", "<b> Práve ste editovali údaje skupiny. <br></b>" + "Údaje skupiny sú:<br>" + "Meno: <b>" + tSkupina.Meno + "</b><br>" + "Typ: <b>" + tSkupina.Typ.ToString() + "</b><br>" + "Poznámka: <b>" + tSkupina.Poznamka + "</b><br>" + "Podskupiny: <b>" + tSkupina.GetPodskupiny() + "</b><br>" + "Členovia: <b>" + tSkupina.GetClenov() + "</b><br>", Nastavenia); notifikacia.PoslatEmail(); if (tSkupina.Meno != tMeno) { foreach (Pouzivatel polozka in Logika.GetPouzivatalia()) { if (polozka.Skupiny.Contains(tMeno)) { polozka.Skupiny.Remove(tMeno); polozka.Skupiny.Add(tSkupina.Meno); } } } MessageBox.Show("Editovali ste skupinu : " + tMeno, "Oznámenie", MessageBoxButton.OK, MessageBoxImage.Information); PotrebaUlozit = true; VypisSkupiny(); } editovanie.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } }