public async Task <ActionResult> CreateNews(CreateNewsItemModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("CreateNewsModal", model));
            }

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

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

            return(CloseModal(result));
        }
示例#2
0
        public async Task <IWriterResult> CreateNewsItem(string userId, CreateNewsItemModel model)
        {
            using (var context = DataContextFactory.CreateContext())
            {
                var sanitizer = new HtmlSanitizer();
                var newsItem  = new Entity.NewsItem
                {
                    Status    = Enums.NewsStatus.Active,
                    Timestamp = DateTime.UtcNow,
                    Title     = model.Title,
                    Content   = sanitizer.Sanitize(model.Content),
                    UserId    = userId
                };

                context.NewsItem.Add(newsItem);
                await context.SaveChangesAsync().ConfigureAwait(false);

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