/// <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;
            }
        }
Пример #4
0
 /// <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>();
 }
Пример #5
0
 /// <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);
        }
Пример #7
0
 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());
     }
 }