/// <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> /// Inicializacia okna pre zobrazenie detailov uzivatela /// </summary> /// <param name="paPravaUpravy"></param> /// <param name="paUzivatelOrig"></param> /// <param name="paZaclenenie"></param> public DetailUser(bool paPravaUpravy, Pouzivatel paUzivatelOrig, HashSet <Skupina> paZaclenenie) { InitializeComponent(); PravoZmeny = paPravaUpravy; BolaZmena = false; var nMeno = paUzivatelOrig.Meno; nTyp = paUzivatelOrig.Typ; _nEmail = paUzivatelOrig.Email; var nTelefon = paUzivatelOrig.Telefon; var nPoznamka = paUzivatelOrig.Poznamka; _aktUzivatel = paUzivatelOrig; cbDU_Typ.ItemsSource = System.Enum.GetValues(typeof(FTyp)); // VIZUAL txtDU_Meno.Text = nMeno; cbDU_Typ.SelectedItem = nTyp; txtDU_Email.Text = _nEmail; txtDU_Telefon.Text = nTelefon; new TextRange(txtDU_Poznamka.Document.ContentStart, txtDU_Poznamka.Document.ContentEnd) { Text = nPoznamka }; DataGridGroups.ItemsSource = paZaclenenie; if (!paPravaUpravy) { btnDU_Edituj.IsEnabled = false; } }
/// <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(); }
public void SaveUpdatedPouzivatel(Pouzivatel pouzivatel) { var service = new Team024PouzivatelPortTypeClient(); service.update("024", "FYmoj1", pouzivatel.id, pouzivatel); service.Close(); }
/// <summary> /// Pokus o vytvorenie nového používateľa /// </summary> /// <param name="paPouzivatel">Objekt používateľa</param> /// <returns>Vráti true ak sa podarilo vytvoriť nového užívateľa, inak false.</returns> public bool VytvorNovehoPouzivatela(Pouzivatel paPouzivatel) { var uzivatel = Pouzivatelia.Count(s => s.Meno == paPouzivatel.Meno); if (uzivatel != 0) { return(false); } Pouzivatelia.Add(paPouzivatel); return(true); }
/// <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> /// Zistenie existencie pouzivatela podla mena /// </summary> /// <param name="paKluc">Unikatne meno pouzivatela</param> /// <returns>Vrati true ak pouzivatel existuje. Inak false.</returns> public bool ContainsPouzivatel(string paKluc) { try { Pouzivatel ret = Pouzivatelia.FirstOrDefault(u => u.Meno == paKluc); return(ret != null); } catch (Exception e) { System.Console.WriteLine(e); return(false); } }
/// <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; } }
public Pouzivatel GetPouzivatel(Pouzivatels pouzivatels) { var result = new Pouzivatel { id = pouzivatels.id, heslo = pouzivatels.heslo, body = pouzivatels.body, email = pouzivatels.email, datRegistracie = pouzivatels.datRegistracie, name = pouzivatels.name, poslednePrihlasenie = pouzivatels.datRegistracie, prihlasovacieMeno = pouzivatels.prihlasovacieMeno, rola = pouzivatels.rola, platneClenske = pouzivatels.platneClenske }; return(result); }
/// <summary> /// Nacitanie XML dokumentu so vstupnymi datami pouzivatelov /// </summary> /// <param name="paNazov">Cesta k suboru</param> /// <param name="paPouzivatelia">Hashset pouzivatelov</param> public void LoadPouzivatelia(string paNazov, HashSet <Pouzivatel> paPouzivatelia) { XmlDocument dokument = new XmlDocument(); dokument.Load(paNazov); foreach (XmlNode node in dokument.DocumentElement) { string meno = node.Attributes[0].InnerText; XmlNode decko = node.FirstChild; string heslo = decko.InnerText; decko = decko.NextSibling; string sol = decko.InnerText; decko = decko.NextSibling; string typ = decko.InnerText; Enum.TryParse <FTyp>(typ, out var typOzaj); decko = decko.NextSibling; string email = decko.InnerText; decko = decko.NextSibling; string telefon = decko.InnerText; decko = decko.NextSibling; string poznamka = decko.InnerText; decko = decko.NextSibling; bool aktivny = decko.InnerText == "true" ? true : false; decko = decko.NextSibling; string tDbo = decko.InnerText; string[] zaradenie = tDbo.Split(';'); HashSet <string> zaradenie_polo = new HashSet <string>(); foreach (string polozka in zaradenie) { zaradenie_polo.Add(polozka); } Pouzivatel novy = new Pouzivatel(meno, heslo, typOzaj, email, telefon, poznamka, aktivny) { SkupinyDbo = tDbo, Sol = sol, Skupiny = zaradenie_polo }; paPouzivatelia.Add(novy); } }
/// <summary> /// Uprava vypisu pre moznost odstranovania poloziek /// </summary> public void DelPravo() { if (!_delStlpec && ((MainWindow)Owner).PrihlasenyStav) { Pouzivatel kontrolovany = ((MainWindow)Owner).Logika.GetPouzivatel(((MainWindow)Owner).PrihlasenyMeno); if (FTyp.Administrátor.ToString() == kontrolovany.Typ.ToString() || kontrolovany.Meno == _aktSkupina.VeduciSkupiny) { var col = new DataGridTemplateColumn { Header = DgSwitch ? "Odstrániť podskupinu:" : "Odstrániť člena:" }; var template = new DataTemplate(); col.CellTemplate = template; var buttonFactory = new FrameworkElementFactory(typeof(Button)); buttonFactory.SetValue(Button.ContentProperty, "Odstrániť"); //buttonFactory.Text = "Odstrániť"; buttonFactory.AddHandler(Button.ClickEvent, new RoutedEventHandler(BtnDelete_Click)); template.VisualTree = buttonFactory; col.CellEditingTemplate = template; DataGridPod.Columns.Add(col); } _delStlpec = true; } }
private void ButtonRegistracia_Click(object sender, RoutedEventArgs e) { // List<PrihlasovacieUdaje> uzivatelia; using (var databaza = new DatabazaSnake()) { string hashHeslo = SecurePasswordHasher.Hash(textBoxHeslo.Password); if (databaza.Pouzivatelia.Where(x => x.Meno == textBoxMeno.Text).Any()) { MessageBox.Show("Zadané uživatelské aktualnyPouzivatel už existuje"); } else { Pouzivatel novyUzivatel = new Pouzivatel(textBoxMeno.Text, hashHeslo); databaza.Pouzivatelia.Add(novyUzivatel); databaza.SaveChanges(); GlobalnePremenne.aktualnyPouzivatel = textBoxMeno.Text; MessageBox.Show("Registracia prebehla uspesne"); this.Close(); } } }
/// <summary> /// Konstruktor emailoveho klienta /// </summary> public EmailClient(string paAdtesat, string paPredmet, string paSprava, NameValueCollection paNastavenia, Pouzivatel paOdosielatel = null) { this.Adresat = paAdtesat; this.Odosielatel = paOdosielatel; this.Predmet = paPredmet; this.Sprava = paSprava; this.SystemAdresa = paNastavenia.Get("emailClient_adresa"); this.SystemHeslo = paNastavenia.Get("emailClient_heslo"); this.SystemKlient = paNastavenia.Get("emailClient_sluzba"); }
/// <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()); } }
/// <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()); } }
public Autentifikator(bool chyba, Pouzivatel pouzivatel, Validacia validacia) { this.chyba = chyba; this.pouzivatel = pouzivatel; this.validacia = validacia; }