Ejemplo n.º 1
0
        public ActionResult NovyPrispevek()
        {
            Prispevek prispevek = new Prispevek();

            prispevek.TypPrispevku = TypPrispevek.Akordy;
            return(View(prispevek));
        }
Ejemplo n.º 2
0
        public ActionResult NovyPrispevek(Prispevek prispevek)
        {
            using (ModelContainer db = new ModelContainer())
            {
                int idUzivatel = int.Parse(Session["uzivatelID"].ToString());

                //vyhledám potřebné informace - aktuálně přihlášený uživatel a interpreta ke kterému potřebuji vložit příspěvek
                Uzivatel aktualnePrihlaseny = db.Uzivatele.Where(x => x.Id == idUzivatel).First();

                String    nazevInterpreta   = Session["interpretNazev"].ToString();
                Interpret aktualniInterpret = db.Interpreti.Where(x => x.Nazev == nazevInterpreta).First();

                //doplnim vyhledané informace
                prispevek.DatumPridani = DateTime.Now;
                prispevek.Interpret    = aktualniInterpret;
                prispevek.Autor        = aktualnePrihlaseny;
                prispevek.Schvalen     = false;

                //vyhledám uživatele který je správcem interpreta
                int      idSpravce         = db.SpravciInterpretu.Where(x => x.Interpret.Nazev == nazevInterpreta).Select(x => x.UzivatelId).First();
                Uzivatel spravceInterpreta = db.Uzivatele.Where(x => x.Id == idSpravce).First();

                prispevek.Obsah = System.Net.WebUtility.HtmlEncode(prispevek.Obsah);

                //vytvořím žádost
                Zadost novaZadost = new Zadost();
                novaZadost.Interpret   = aktualniInterpret;
                novaZadost.Prispevek   = prispevek;
                novaZadost.StavZadosti = StavZadosti.Cekajici;
                novaZadost.ZadostOd    = aktualnePrihlaseny;
                novaZadost.ZadostKomu  = spravceInterpreta;
                novaZadost.TypZadosti  = TypZadosti.ZadostPisen;



                //pokud uživatel který vkládá příspěvek je zároveň správcem daného interpreta pak se nemusí čekat na schválení žádosti a příspěvek bude přidán
                if (spravceInterpreta.Prezdivka.Equals(aktualnePrihlaseny.Prezdivka))
                {
                    novaZadost.StavZadosti = StavZadosti.Schvalena;
                    prispevek.Schvalen     = true;
                }


                //vložím nový příspěvek
                db.Prispevky.Add(prispevek);

                //vložím novou žádost
                db.Zadosti.Add(novaZadost);

                //uložím změny
                db.SaveChanges();

                //vrátit view které zobrazí odeslání žádosti o příspěvku a vysvětlení co dál
                return(View("NovyPrispevekPotvrzeni"));
            }
        }
Ejemplo n.º 3
0
        public ActionResult Edit(int id)
        {
            using (ModelContainer db = new ModelContainer())
            {
                Prispevek editovanyPrispevek = db.Prispevky.Where(x => x.Id == id).First();

                editovanyPrispevek.Obsah = System.Net.WebUtility.HtmlDecode(editovanyPrispevek.Obsah);

                return(View(editovanyPrispevek));
            }
        }
Ejemplo n.º 4
0
        public ActionResult Edit(Prispevek prispevek)
        {
            using (ModelContainer db = new ModelContainer())
            {
                Prispevek stareHodnoty = db.Prispevky.Where(x => x.Id == prispevek.Id).First();

                //přepíšu hodnoty
                stareHodnoty.NazevPisne   = prispevek.NazevPisne;
                stareHodnoty.Obsah        = prispevek.Obsah;
                stareHodnoty.TypPrispevku = prispevek.TypPrispevku;

                //nastavím stav - změna hodnot
                db.Entry(stareHodnoty).State = EntityState.Modified;

                //uložím změny
                db.SaveChanges();

                return(View("PostEdit"));
            }
        }
Ejemplo n.º 5
0
        public ActionResult Delete(int id)
        {
            using (ModelContainer db = new ModelContainer())
            {
                //vyhledám odebíraný článek
                Prispevek odebiranyPrispevek = db.Prispevky.Where(x => x.Id == id).First();

                //odeberu veškeré hodnocení příspěvku - kvůli integritě s cizím klíčem
                db.HodnoceniPrispevku.RemoveRange(db.HodnoceniPrispevku.Where(x => x.PrispevekId == id));

                //odeberu článek
                db.Prispevky.Remove(odebiranyPrispevek);

                //odeberu žádost spojenou s příspěvkem
                db.Zadosti.RemoveRange(db.Zadosti.Where(x => x.PrispevekId == id));

                //uložím změny
                db.SaveChanges();

                //přesměruju na správné view
                return(RedirectToAction("VlastniPrispevky", "Uzivatel", new { kategorie = "prispevky" }));
            }
        }
Ejemplo n.º 6
0
        public ActionResult KonkretniZadost(String novyStavZadosti)
        {
            using (ModelContainer db = new ModelContainer())
            {
                //získám ID žádosti
                int idZadosti = int.Parse(Session["idKonkretniZadost"].ToString());

                //vyhledám žádost kterou upravuji
                Zadost upravovanaZadost = db.Zadosti.Include(x => x.Interpret).Include(x => x.ZadostOd).Include(x => x.Prispevek).Where(x => x.Id == idZadosti).First();

                //změním stav žádosti
                upravovanaZadost.StavZadosti = ZjistiStavZadosti(novyStavZadosti);

                //změním stav objektu
                db.Entry(upravovanaZadost).State = System.Data.Entity.EntityState.Modified;

                upravovanaZadost.Komentar = WebUtility.HtmlEncode(upravovanaZadost.Komentar);


                //NÁSLEDKY ZMĚNY STAVU ŽÁDOSTI dle typu žádosti a novém stavu
                if (upravovanaZadost.TypZadosti == TypZadosti.ZadostPisen)
                {
                    if (upravovanaZadost.StavZadosti == StavZadosti.Schvalena)
                    {
                        //změním Schvaleno u Prispevek na true
                        Prispevek zmenaViditelnosti = db.Prispevky.Where(x => x.Id == upravovanaZadost.PrispevekId).First();

                        zmenaViditelnosti.Schvalen = true;

                        db.Entry(zmenaViditelnosti).State = EntityState.Modified;
                    }
                    else //StavZadosti.Zamitnuta
                    {
                        //změním Schvaleno u Prispevek na false
                        Prispevek zmenaViditelnosti = db.Prispevky.Where(x => x.Id == upravovanaZadost.PrispevekId).First();

                        zmenaViditelnosti.Schvalen = false;

                        db.Entry(zmenaViditelnosti).State = EntityState.Modified;
                    }
                }
                else //TypZadosti.ZadostRedaktor
                {
                    int idPrihlasenehoUzivatele = int.Parse(Session["uzivatelID"].ToString());

                    if (upravovanaZadost.StavZadosti == StavZadosti.Schvalena)
                    {
                        //přidám uživateli roli v databázové tabulce Uzivatele
                        Uzivatel pridanaRole = db.Uzivatele.Where(x => x.Id == upravovanaZadost.ZadostOd.Id).First();

                        pridanaRole.Role = TypRoleUzivatele.Redaktor;

                        db.Entry(pridanaRole).State = EntityState.Modified;

                        //přidám uživateli roli v databázové tabulce AspUserRoles
                        RoleManager <IdentityRole>    spravceRoli      = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(new IdentityDbContext()));
                        UserManager <ApplicationUser> spravceUzivatelu = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));
                        ApplicationUser uzivatel = spravceUzivatelu.FindByName(pridanaRole.Prezdivka);
                        spravceUzivatelu.AddToRole(uzivatel.Id, "redaktor");
                    }
                    else     //pokud není žádost schválena - nic se nemění, pouze pokud již byla schválena předtím tak odeberu roli redaktora

                    //odeberu uživateli roli v databázové tabulce Uzivatele
                    {
                        Uzivatel pridanaRole = db.Uzivatele.Where(x => x.Id == upravovanaZadost.ZadostOd.Id).First();

                        pridanaRole.Role = TypRoleUzivatele.PrihlasenyUzivatel;

                        db.Entry(pridanaRole).State = EntityState.Modified;

                        //přidám uživateli roli v databázové tabulce AspUserRoles
                        RoleManager <IdentityRole>    spravceRoli      = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(new IdentityDbContext()));
                        UserManager <ApplicationUser> spravceUzivatelu = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));
                        ApplicationUser uzivatel = spravceUzivatelu.FindByName(pridanaRole.Prezdivka);
                        spravceUzivatelu.RemoveFromRole(uzivatel.Id, "redaktor");
                    }
                }

                //uložím změny
                db.SaveChanges();

                //return View(upravovanaZadost);
                return(RedirectToAction("KonkretniZadost", new { id = idZadosti }));
            }
        }