public ActionResult NovyPrispevek() { Prispevek prispevek = new Prispevek(); prispevek.TypPrispevku = TypPrispevek.Akordy; return(View(prispevek)); }
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")); } }
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)); } }
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")); } }
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" })); } }
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 })); } }