示例#1
0
 public ActionResult New(Articol articol)
 {
     articol.Restrict = false;
     articol.Dom      = GetAllCategories();
     articol.Data     = DateTime.Now;
     articol.UserId   = User.Identity.GetUserId();
     articol.IdParent = 0;
     try
     {
         if (ModelState.IsValid)
         {
             // Protect content from XSS
             articol.ContinutArticol = Sanitizer.GetSafeHtmlFragment(articol.ContinutArticol);
             db.Articole.Add(articol);
             db.SaveChanges();
             TempData["message"] = "Articolul a fost adaugat!";
             return(RedirectToAction("Index"));
         }
         else
         {
             return(View(articol));
         }
     }
     catch (Exception e)
     {
         return(View(articol));
     }
 }
示例#2
0
        public ActionResult ShowIstoric(int id)
        {
            Articol art = db.Articole.Find(id);

            if (art.UserId == User.Identity.GetUserId() || User.IsInRole("Admin"))
            {
                var articles = from article in db.Articole.Include("Domeniu").Include("User")
                               where article.IdParent == id
                               select article;

                ViewBag.Articles = articles;
                ViewBag.Id       = id;
                if (TempData.ContainsKey("message"))
                {
                    ViewBag.Message = TempData["message"];
                }

                return(View());
            }
            else
            {
                TempData["message"] = "Nu aveti dreptul sa accesati istoricul unui articol care nu va apartine!";
                return(RedirectToAction("Show/" + id));
            }
        }
示例#3
0
        public void StergereArticol(IFake context, int articolID)
        {
            Articol art = context.Articol.FirstOrDefault(a => a.Id == articolID);

            context.Articol.Remove(art);

            context.SaveChanges();
        }
示例#4
0
        public ActionResult New()
        {
            Articol articol = new Articol();

            articol.Dom = GetAllCategories();

            // Preluam ID-ul utilizatorului curent
            articol.UserId = User.Identity.GetUserId();
            return(View(articol));
        }
示例#5
0
        public ActionResult ShowArticolIstoric(int id)
        {
            Articol article = db.Articole.Find(id);

            if (TempData.ContainsKey("message"))
            {
                ViewBag.Message = TempData["message"];
            }
            return(View(article));
        }
示例#6
0
        public void EditareArticol(IFake context, string titluOld, Articol updatedArticol)
        {
            Articol articol = context.Articol.FirstOrDefault(a => a.Titlu.Contains(titluOld));

            articol.Titlu     = updatedArticol.Titlu;
            articol.Continut  = updatedArticol.Continut;
            articol.Descriere = updatedArticol.Descriere;
            articol.Categorie = updatedArticol.Categorie;
            articol.Link      = updatedArticol.Link;
            context.SaveChanges();
        }
示例#7
0
        public ActionResult Edit(int id)
        {
            Articol articol = db.Articole.Find(id);

            articol.Dom = GetAllCategories();

            if (articol.UserId == User.Identity.GetUserId() && articol.Restrict == false || User.IsInRole("Admin"))
            {
                return(View(articol));
            }
            else
            {
                TempData["message"] = "Nu aveti dreptul sa faceti modificari asupra acestui articol deoarece nu va apartine!";
                return(RedirectToAction("Index"));
            }
        }
示例#8
0
        public ActionResult Delete(int id)
        {
            Articol articol = db.Articole.Find(id);

            if (articol.UserId == User.Identity.GetUserId() && articol.Restrict == false || User.IsInRole("Admin"))
            {
                db.Articole.Remove(articol);
                db.SaveChanges();
                TempData["message"] = "Articolul a fost sters!";
                return(RedirectToAction("Index"));
            }
            else
            {
                TempData["message"] = "Nu aveti dreptul sa stergeti acest articol!";
                return(RedirectToAction("Index"));
            }
        }
示例#9
0
        public ActionResult Show(int id)
        {
            if (TempData.ContainsKey("message"))
            {
                ViewBag.Message = TempData["message"];
            }
            Articol articol = db.Articole.Find(id);

            //Butoanele de Edit si Delete sunt vizibile doar pentru Admin si Editor
            //Admin-ul are butoanele vizibile pentru orice articol,
            //iar Editorul le are vizibile doar pentru articolele care ii apartin
            //Utilizatorul cu rolul User nu o sa vada aceste butoane
            ViewBag.afisareButoane = false;
            if (User.IsInRole("Editor") || User.IsInRole("Admin"))
            {
                ViewBag.afisareButoane = true;
            }
            ViewBag.esteAdmin        = User.IsInRole("Admin");
            ViewBag.utilizatorCurent = User.Identity.GetUserId();
            return(View(articol));
        }
示例#10
0
        // we want to check if the article added earlier can be retrieved and updated.

        public void TestEditArticol()
        {
            // create our Repository
            Repository repository = new Repository();
            // We retrieve the article added earlier.
            Articol articol  = TestContext.Articol.FirstOrDefault(a => a.Titlu.Contains("Titlul articolului" + key));
            string  newKey   = "000";
            string  oldTitle = articol.Titlu;

            articol.Titlu     = articol.Titlu + newKey;
            articol.Continut  = articol.Continut + newKey;
            articol.Descriere = articol.Descriere + newKey;
            articol.Categorie = 2;
            articol.Link      = articol.Link + newKey;
            repository.EditareArticol(TestContext, oldTitle, articol);
            // we check every single field we've just updated
            Assert.IsTrue(TestContext.Articol.Where(a => a.Titlu.Equals(articol.Titlu)).ToList().Count() > 0);
            Assert.IsTrue(TestContext.Articol.Where(a => a.Continut.Equals(articol.Continut)).ToList().Count() > 0);
            Assert.IsTrue(TestContext.Articol.Where(a => a.Descriere.Equals(articol.Descriere)).ToList().Count() > 0);
            Assert.IsTrue(TestContext.Articol.Where(a => a.Categorie.Equals(articol.Categorie)).ToList().Count() > 0);
        }
示例#11
0
        public ActionResult Edit(int id, Articol requestArticol)
        {
            requestArticol.Dom = GetAllCategories();

            try
            {
                if (ModelState.IsValid)
                {
                    Articol articol = db.Articole.Find(id);
                    if (articol.UserId == User.Identity.GetUserId() && articol.Restrict == false || User.IsInRole("Admin"))
                    {
                        if (TryUpdateModel(articol))
                        {
                            articol.TitluArticol = requestArticol.TitluArticol;
                            // Protect content from XSS
                            requestArticol.ContinutArticol = Sanitizer.GetSafeHtmlFragment(requestArticol.ContinutArticol);
                            articol.ContinutArticol        = requestArticol.ContinutArticol;
                            articol.IDDomeniu = requestArticol.IDDomeniu;
                            db.SaveChanges();
                            TempData["message"] = "Articolul a fost modificat!";
                        }
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        TempData["message"] = "Nu aveti dreptul sa faceti modificari asupra acestui articol deoarece nu va apartine!";
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    return(View(requestArticol));
                }
            }
            catch (Exception e)
            {
                return(View(requestArticol));
            }
        }
示例#12
0
        public int AdaugareArticol(IFake context, int ID_Categorie, string titlu, string continut, string descriere, string link, DateTime dataPublicare, User user)
        {
            if (user == null)
            {
                return(-1);
            }
            Articol art = new Articol()
            {
                Titlu          = titlu,
                Continut       = continut,
                Descriere      = descriere,
                Categorie      = ID_Categorie,
                Link           = link,
                User           = user,
                Data_Publicare = dataPublicare
            };

            context.Articol.Add(art);
            context.SaveChanges();
            int IDUL = art.Id;

            return(IDUL);
        }
示例#13
0
        public ActionResult Edit(int id, Articol requestArticol)
        {
            requestArticol.Dom = GetAllCategories();

            try
            {
                if (ModelState.IsValid)
                {
                    Articol articol = db.Articole.Find(id);
                    if (articol.UserId == User.Identity.GetUserId() && articol.Restrict == false || User.IsInRole("Admin"))
                    {
                        Articol LogArticle = new Articol();
                        LogArticle.TitluArticol    = articol.TitluArticol;
                        LogArticle.ContinutArticol = articol.ContinutArticol;
                        LogArticle.Data            = DateTime.Now;
                        LogArticle.IDDomeniu       = articol.IDDomeniu;
                        LogArticle.Restrict        = articol.Restrict;
                        LogArticle.User            = articol.User;
                        LogArticle.UserId          = articol.UserId;
                        LogArticle.IdParent        = id;

                        if (TryUpdateModel(articol))
                        {
                            requestArticol.ContinutArticol = Sanitizer.GetSafeHtmlFragment(requestArticol.ContinutArticol);
                            db.Articole.Add(LogArticle);
                            db.SaveChanges();

                            articol.TitluArticol    = requestArticol.TitluArticol;
                            articol.ContinutArticol = requestArticol.ContinutArticol;
                            articol.Data            = requestArticol.Data;
                            articol.IDDomeniu       = requestArticol.IDDomeniu;
                            articol.IdParent        = 0;
                            db.SaveChanges();
                            TempData["message"] = "Articolul a fost modificat!";
                            return(RedirectToAction("Show/" + id));
                        }

                        return(View(requestArticol));

                        //if (TryUpdateModel(articol))
                        //{
                        //    articol.TitluArticol = requestArticol.TitluArticol;
                        //    // Protect content from XSS
                        //    requestArticol.ContinutArticol = Sanitizer.GetSafeHtmlFragment(requestArticol.ContinutArticol);
                        //    articol.ContinutArticol = requestArticol.ContinutArticol;
                        //    articol.IDDomeniu = requestArticol.IDDomeniu;
                        //    db.SaveChanges();
                        //    TempData["message"] = "Articolul a fost modificat!";
                        //}
                        //return RedirectToAction("Index");
                    }
                    else
                    {
                        TempData["message"] = "Nu aveti dreptul sa faceti modificari asupra acestui articol deoarece nu va apartine!";
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    return(View(requestArticol));
                }
            }
            catch (Exception e)
            {
                return(View(requestArticol));
            }
        }