/// <summary> /// Hľadanie skupiny /// </summary> /// <param name="paMeno">Meno skupiny</param> /// <param name="paTyp">Typ skupiny</param> /// <param name="paVeduci">Vedúci skupiny</param> /// <returns>Vráti výsledok vyhľadávania ako HashSet</returns> public HashSet <Skupina> HladajSkupina(string paMeno = null, FTyp paTyp = FTyp.VSETKO, string paVeduci = null) { // vyhľádavanie skupín HashSet <Skupina> navrat = new HashSet <Skupina>(); foreach (Skupina polozka in Skupiny) { // hľadanie ihly bool presiel = false; if (paMeno != null) { presiel = polozka.Meno.Contains(paMeno); } if (paVeduci != null) { presiel = polozka.VeduciSkupiny.Contains(paVeduci); } if (paTyp != FTyp.VSETKO) { presiel = paTyp == polozka.Typ ? true : false; } //else { presiel = true; } // premysliet si VSETKO a NIC -> VSETKO bude znamenat akykolvek typ if (presiel) { navrat.Add(polozka); } } return(navrat); }
/// <summary> /// Inicializacia okna pre zobrazenie detailov skupiny /// </summary> /// <param name="paPravaUpravy">Prava pre upravu</param> /// <param name="paMenoOrig">Aktualne meno skupiny</param> /// <param name="paSkupina">Objekt aktualnej skupiny</param> /// <param name="paClenovia">List clenov skupiny</param> /// <param name="paPodskupiny">HashSet podskupin skupiny</param> public DetailGroup(bool paPravaUpravy, string paMenoOrig, Skupina paSkupina, List <Pouzivatel> paClenovia, HashSet <Skupina> paPodskupiny, object paSender) { InitializeComponent(); PravoZmeny = paPravaUpravy; BolaZmena = false; BoloPridanie = false; _nMeno = paMenoOrig; _nTyp = paSkupina.Typ; cbDG_Typ.ItemsSource = System.Enum.GetValues(typeof(FTyp)); txtDG_Veduci.Text = paSkupina.VeduciSkupiny; txtDG_Meno.Text = paMenoOrig; _aktSkupina = paSkupina; cbDG_Typ.SelectedItem = _nTyp; _delStlpec = false; new TextRange(txtDG_Poznamka.Document.ContentStart, txtDG_Poznamka.Document.ContentEnd) { Text = paSkupina.Poznamka }; _clenovia = paClenovia; _podskupiny = paPodskupiny; if (!paPravaUpravy) { btn_EditujSkupinu.IsEnabled = false; btn_PridajPod.IsEnabled = false; } Owner = paSender; Button_Click_Podskupiny(this, null); DelPravo(); DgSwitch = true; // T skupiny F uzivatelia }
/// <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> /// Konštruktor triedy Skupina /// </summary> /// <param name="paMeno">Meno skupiny</param> /// <param name="paTyp">Typ skupiny</param> /// <param name="paPoznamka">Poznámka skupiny</param> /// <param name="paVeduci">Veduci skupiny</param> public Skupina(string paMeno, FTyp paTyp, string paPoznamka, string paVeduci) { this.Meno = paMeno; this.Typ = paTyp; this.Poznamka = paPoznamka; this.VeduciSkupiny = paVeduci; this.Podskupiny = new HashSet <string>(); this.Clenovia = new HashSet <string>(); }
/// <summary> /// Konštruktor triedy Pouzivatel /// </summary> /// <param name="paMeno">Meno používateľa</param> /// <param name="paHeslo">Heslo používateľa</param> /// <param name="paTyp">Typ používateľa</param> /// <param name="paEmail">Email používateľa</param> /// <param name="paTelefon">Telefónne číslo používateľa</param> /// <param name="paPoznamka">Poznámka o používateľovi</param> /// <param name="paAktivny">Aktivnosť používateľa</param> public Pouzivatel(string paMeno, string paHeslo, FTyp paTyp, string paEmail, string paTelefon, string paPoznamka, bool paAktivny) { this.Meno = paMeno; this.Heslo = paHeslo; this.Typ = paTyp; this.Email = paEmail; this.Telefon = paTelefon; this.Poznamka = paPoznamka; this.Aktivny = paAktivny; Skupiny = new HashSet <string>(); SkupinyDbo = ""; }
/// <summary> /// Vyhľadávanie používateľov /// </summary> /// <param name="paMeno">Meno používateľa</param> /// <param name="paTyp">Typ používateľa</param> /// <param name="paEmail">Email používateľa</param> /// <param name="paTelefon">Telefonne cislo používateľa</param> /// <param name="paAktivny">Stav prihlasenia používateľa</param> /// <returns>Vrati vysledok vyhladavania ako HashSet</returns> public HashSet <Pouzivatel> HladajPouzivatel(string paMeno = null, FTyp paTyp = FTyp.VSETKO, string paEmail = null, string paTelefon = null, string paAktivny = null) { // vyhľadávanie používateľov HashSet <Pouzivatel> navrat = new HashSet <Pouzivatel>(); foreach (Pouzivatel polozka in Pouzivatelia) // Uzivatelia.Values { // hľadanie ihly bool presiel = false; if (paMeno != null) { presiel = polozka.Meno.Contains(paMeno); } if (paTyp != FTyp.VSETKO) { presiel = paTyp == polozka.Typ ? true : false; } //else { presiel = true; } if (paEmail != null) { presiel = polozka.Email.Contains(paEmail); } if (paTelefon != null) { presiel = polozka.Telefon.Contains(paTelefon); } if (paAktivny != null) { if (paAktivny == "A") { presiel = true == polozka.Aktivny ? true : false; } if (paAktivny == "N") { presiel = false == polozka.Aktivny ? true : false; } } if (presiel) { navrat.Add(polozka); } } return(navrat); }
public static object Test000() { using (DClsszDataContext context = new DClsszDataContext()) { DbRoot root = Queryable.First <DbRoot>(context.DbRoots); for (int i = 0; i < root.CTyps.Count; i++) { CTyp typ = Enumerable.First <CTyp>(Enumerable.Skip <CTyp>(root.CTyps, i)); for (int j = 0; j < typ.FTyps.Count; j++) { FTyp typ2 = Enumerable.First <FTyp>(Enumerable.Skip <FTyp>(typ.FTyps, j)); for (int k = 0; k < typ2.Itms.Count; k++) { Itm itm = Enumerable.First <Itm>(Enumerable.Skip <Itm>(typ2.Itms, k)); for (int m = 0; m < itm.Parts.Count; m++) { Enumerable.First <Part>(Enumerable.Skip <Part>(itm.Parts, m)); } } } } } return(null); }
/// <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()); } }