public async Task <ActionResult> UpdateNews(UpdateNewsItemModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("UpdateNewsModal", model));
            }

            var result = await NewsWriter.UpdateNewsItem(User.Identity.GetUserId(), model);

            if (!ModelState.IsWriterResultValid(result))
            {
                return(View("UpdateNewsModal", model));
            }

            return(CloseModal(result));
        }
示例#2
0
        public async Task <IWriterResult> UpdateNewsItem(string userId, UpdateNewsItemModel model)
        {
            using (var context = DataContextFactory.CreateContext())
            {
                var newsItem = await context.NewsItem.FirstOrDefaultNoLockAsync(x => x.Id == model.Id);

                if (newsItem == null)
                {
                    return(new WriterResult(false, $"News item #{model.Id} not found."));
                }

                var sanitizer = new HtmlSanitizer();
                newsItem.Title   = model.Title;
                newsItem.Content = sanitizer.Sanitize(model.Content);
                newsItem.UserId  = userId;
                newsItem.Status  = model.Status;
                await context.SaveChangesAsync().ConfigureAwait(false);

                return(new WriterResult(true, "Successfully updated news item."));
            }
        }