public ActionResult Vytvorit(Uzivatel uzivatel, int skupinaId)
        {
            UzivatelDao uzivatelDao  = new UzivatelDao();
            Uzivatel    novyUzivatel = uzivatelDao.GetByLogin(uzivatel.Login);

            if (novyUzivatel != null)
            {
                TempData["error-message"] = "Uživatel s tímto uživ. jménem již existuje";
                return(RedirectToAction("PridatUzivatele"));
            }

            SkupinaDao skupinaDao = new SkupinaDao();
            Skupina    skupina    = skupinaDao.GetById(skupinaId);

            skupinaDao.CloseSession();

            UzivatelskaRoleDao uzivatelskaRoleDao = new UzivatelskaRoleDao();
            UzivatelskaRole    role = uzivatelskaRoleDao.GetRoleWithName("uzivatel");

            uzivatelskaRoleDao.CloseSession();

            Uzivatel admin = uzivatelDao.GetByLogin(User.Identity.Name);

            uzivatel.Skupina  = skupina;
            uzivatel.Vytvoril = admin;
            uzivatel.Role     = role;

            if (ModelState.IsValid)
            {
                uzivatelDao.CreateWithHashedPassword(uzivatel);
                TempData["message-success"] = "Uživatel úspěšne přidán";
            }

            return(RedirectToAction("Index", "Uzivatel"));
        }
        /// <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>
        /// 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
        }
Example #4
0
 public Auto(string jmeno, Skupina skupina, DateTime datumVydani, int vykon, float delka)
 {
     Jmeno            = jmeno;
     this.skupina     = skupina;
     this.datumVydani = datumVydani;
     Vykon            = vykon;
     Delka            = delka;
 }
Example #5
0
        public ActionResult Editace(int id)
        {
            SkupinaDao       skupinaDao = new SkupinaDao();
            Skupina          skupina    = skupinaDao.GetById(id);
            IList <Uzivatel> uzivatele  = skupina.Uzivatele;

            ViewBag.Uzivatele = uzivatele;

            return(View(skupina));
        }
Example #6
0
        public IList <Uzivatel> GetUsersForGroupPaged(Skupina skupina, int count, int page, out int totalItems)
        {
            totalItems = session.CreateCriteria <Uzivatel>()
                         .Add(Restrictions.Eq("Skupina", skupina))
                         .SetProjection(Projections.RowCount()).UniqueResult <int>();

            return(session.CreateCriteria <Uzivatel>()
                   .Add(Restrictions.Eq("Skupina", skupina))
                   .SetFirstResult((page - 1) * count).SetMaxResults(count)
                   .List <Uzivatel>());
        }
        /// <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;
            }
        }
Example #8
0
        private Collection <T> Read(SqlDataReader reader, bool withItemsCount = false)
        {
            Collection <T> skupinas = new Collection <T>();

            while (reader.Read())
            {
                Skupina skupina = new Skupina();
                int     i       = -1;
                skupina.RecordId = reader.GetInt32(++i);
                skupina.Name     = reader.GetString(++i);

                skupinas.Add((T)skupina);
            }
            return(skupinas);
        }
Example #9
0
        public ActionResult Odstranit(int id)
        {
            try
            {
                SkupinaDao skupinaDao = new SkupinaDao();
                Skupina    skupina    = skupinaDao.GetById(id);
                skupinaDao.Delete(skupina);
                TempData["message-success"] = "Skupina " + skupina.Nazev + " byla odstraněna";
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(RedirectToAction("Index", "Skupina"));
        }
Example #10
0
        public ActionResult PridaniSkupiny(Skupina skupina)
        {
            UzivatelDao uzivatelDao = new UzivatelDao();
            Uzivatel    uzivatel    = uzivatelDao.GetByLogin(User.Identity.Name);

            skupina.Zakladatel = uzivatel;

            if (ModelState.IsValid)
            {
                SkupinaDao skupinaDao = new SkupinaDao();
                skupinaDao.Create(skupina);
                TempData["message-success"] = "Skupina byla uspesne pridana";

                return(RedirectToAction("Index", "Skupina"));
            }
            else
            {
                return(View("VytvoreniSkupiny", skupina));
            }
        }
        /// <summary>
        /// Nacitanie XML dokumentu so vstupnymi datami skupin
        /// </summary>
        /// <param name="paNazov">Cesta k suboru</param>
        /// <param name="paSkupiny">Hashset skupin</param>
        public void LoadSkupiny(string paNazov, HashSet <Skupina> paSkupiny)
        {
            XmlDocument dokument = new XmlDocument();

            dokument.Load(paNazov);
            foreach (XmlNode node in dokument.DocumentElement)
            {
                string  meno          = node.Attributes[0].InnerText;
                XmlNode decko         = node.FirstChild;
                string  veduciSkupiny = decko.InnerText;
                decko = decko.NextSibling;
                string typ = decko.InnerText;
                Enum.TryParse <FTyp>(typ, out var typOzaj);
                decko = decko.NextSibling;
                string poznamka = decko.InnerText;
                decko = decko.NextSibling;
                string   tDboPodskupiny = decko.InnerText;
                string[] podskupiny     = tDboPodskupiny.Split(';');
                decko = decko.NextSibling;
                string           tDboClenovia    = decko.InnerText;
                string[]         clenovia        = tDboClenovia.Split(';');
                HashSet <string> podskupiny_polo = new HashSet <string>();
                HashSet <string> clenovia_polo   = new HashSet <string>();
                foreach (string polozka in podskupiny)
                {
                    podskupiny_polo.Add(polozka);
                }
                foreach (string polozka in clenovia)
                {
                    clenovia_polo.Add(polozka);
                }
                Skupina nova = new Skupina(meno, typOzaj, poznamka, veduciSkupiny)
                {
                    PodskupinyDbo = tDboPodskupiny,
                    ClenoviaDbo   = tDboClenovia,
                    Podskupiny    = podskupiny_polo,
                    Clenovia      = clenovia_polo
                };
                paSkupiny.Add(nova);
            }
        }
        public ActionResult ZmenitUzivatele(Uzivatel uzivatel, int skupinaId)
        {
            UzivatelDao uzivatelDao   = new UzivatelDao();
            Uzivatel    staryUzivatel = uzivatelDao.GetById(uzivatel.Id);

            SkupinaDao skupinaDao = new SkupinaDao();
            Skupina    skupina    = skupinaDao.GetById(skupinaId);

            skupinaDao.CloseSession();
            staryUzivatel.Skupina  = skupina;
            staryUzivatel.Jmeno    = uzivatel.Jmeno;
            staryUzivatel.Prijmeni = uzivatel.Prijmeni;

            if (ModelState.IsValid)
            {
                uzivatelDao.Update(staryUzivatel);
                TempData["message-success"] = "Uživatel byl úspěšne upraven";
            }

            return(RedirectToAction("Index", "Uzivatel"));
        }
Example #13
0
        public ActionResult UpraveniSkupiny(Skupina skupina)
        {
            try
            {
                SkupinaDao skupinaDao = new SkupinaDao();

                Skupina staraSkupina = skupinaDao.GetById(skupina.Id);
                staraSkupina.Nazev = skupina.Nazev;


                skupinaDao.Update(staraSkupina);
                TempData["message-success"] = "Skupina " + skupina.Nazev + " byla úspěšně upravena";
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(RedirectToAction("Index", "Skupina"));
        }
Example #14
0
        public ActionResult Detail(int id, int?strana)
        {
            SkupinaDao skupinaDao = new SkupinaDao();
            Skupina    skupina    = skupinaDao.GetById(id);

            skupinaDao.CloseSession();

            int page = strana.HasValue ? strana.Value : 1;
            int totalItems;

            UzivatelDao uzivatelDao = new UzivatelDao();

            IList <Uzivatel> uzivatele = uzivatelDao.GetUsersForGroupPaged(skupina, ItemsOnPage, page, out totalItems);

            uzivatelDao.CloseSession();

            ViewBag.Pages       = (int)Math.Ceiling((double)totalItems / (double)ItemsOnPage);
            ViewBag.CurrentPage = page;
            ViewBag.SkupinaId   = skupina.Id;

            return(View(uzivatele));
        }
        /// <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>
 /// Vytvorenie novej skupiny
 /// </summary>
 /// <param name="paSkupina">Objekt skupiny</param>
 public void VytvorNovuSkupinu(Skupina paSkupina)
 {
     Skupiny.Add(paSkupina);
 }
 /// <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());
     }
 }
Example #18
0
 private void PrepareCommand(SqlCommand command, Skupina skupina)
 {
     command.Parameters.AddWithValue("@id_skupiny", skupina.RecordId);
     command.Parameters.AddWithValue("@nazov", skupina.Name);
 }