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)); }
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.")); } }