예제 #1
0
        public ActionResult Edit(NewsEdit model, IEnumerable <int> filesToAdd, IEnumerable <int> filesToRemove)
        {
            if (model.SelectedTags == null || !model.SelectedTags.Any())
            {
                ModelState.AddModelError(string.Empty, "News musi mieć chociaż jeden tag");
                model.Tags = new SelectList(context.Tags, "Id", "Name");
            }
            if (!ModelState.IsValid)
            {
                PopulateFiles();
                return(View(model));
            }
            var selectedNews = context.InformationSources.OfType <News>().FirstOrDefault(x => x.Id == model.News.Id);

            if (selectedNews == null)
            {
                return(HttpNotFound());
            }
            var tags = context.Tags.Where(x => model.SelectedTags.Contains(x.Id));

            selectedNews.ManageFiles(filesToRemove, filesToAdd, context);
            selectedNews.Tags.AddRange(tags);
            selectedNews.Content = model.News.Content;
            selectedNews.Title   = model.News.Title;
            context.SaveChanges();

            return(RedirectToAction("List", "News"));
        }
예제 #2
0
 public ActionResult Edit(int id)
 {
     INewsDAC dac = new NewsDAC();
     var news = dac.Get(id);
     var model = new NewsEdit { DateCreated=news.DateCreated,NewsID=news.NewsID,NewsText=news.NewsText,Subject=news.Subject };
     return View(model);
 }
예제 #3
0
 public ActionResult Edit(NewsEdit news)
 {
     if (!ModelState.IsValid)
         return View(news);
     INewsDAC dac = new NewsDAC();
     dac.Update(news.NewsID, news.Subject, news.NewsText);
     return RedirectToAction("Index");
 }
예제 #4
0
        public ActionResult Edit(int id)
        {
            INewsDAC dac   = new NewsDAC();
            var      news  = dac.Get(id);
            var      model = new NewsEdit {
                DateCreated = news.DateCreated, NewsID = news.NewsID, NewsText = news.NewsText, Subject = news.Subject
            };

            return(View(model));
        }
예제 #5
0
        public ActionResult Edit(NewsEdit news)
        {
            if (!ModelState.IsValid)
            {
                return(View(news));
            }
            INewsDAC dac = new NewsDAC();

            dac.Update(news.NewsID, news.Subject, news.NewsText);
            return(RedirectToAction("Index"));
        }
예제 #6
0
        public ActionResult Add()
        {
            var news = new NewsEdit
            {
                Tags = new SelectList(context.Tags, "Id", "Name"),
                News = new News()
            };

            PopulateFiles();

            return(View(news));
        }
예제 #7
0
        public ActionResult Edit(int newsId)
        {
            if (context.InformationSources.OfType <News>().FirstOrDefault(x => x.Id == newsId).AuthorId != WebSecurity.GetUserId(User.Identity.Name) && !Roles.IsUserInRole("Administrator"))
            {
                return(RedirectToAction("Unauthorized", "Account"));
            }

            var selectedNews = new NewsEdit
            {
                News = context.InformationSources.OfType <News>().FirstOrDefault(x => x.Id == newsId),
                Tags = new SelectList(context.Tags, "Id", "Name"),
            };

            selectedNews.SelectedTags = selectedNews.News.Tags.Select(x => x.Id).ToList();
            PopulateFiles();
            return(View(selectedNews));
        }
예제 #8
0
        public ActionResult Add(NewsEdit model, IEnumerable <int> filesToAdd, IEnumerable <int> filesToRemove)
        {
            if (model.SelectedTags == null || !model.SelectedTags.Any())
            {
                ModelState.AddModelError(string.Empty, "News musi mieć chociaż jeden tag");
                model.Tags = new SelectList(context.Tags, "Id", "Name");
                PopulateFiles();
            }
            if (ModelState.IsValid)
            {
                var author = context.Users.FirstOrDefault(x => x.Username == WebSecurity.CurrentUserName);
                model.News.AuthorId = author.Id;
                model.News.Date     = DateTime.Now;
                model.News.Tags     = context.Tags.Where(x => model.SelectedTags.Contains(x.Id)).ToList();
                model.News.ManageFiles(filesToRemove, filesToAdd, context);
                context.InformationSources.Add(model.News);
                context.SaveChanges();

                return(RedirectToAction("List", "News"));
            }

            PopulateFiles();
            return(View(model));
        }