Пример #1
0
        public async Task <ActionResult> CorrectNews(CorrectNewsForm news)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var newsDB = _newsProvider.GetNewsDB(news.Id);

            if (ModelState.IsValid && newsDB != null && user.Id == newsDB.AuthorId)
            {
                newsDB.Title      = news.Title;
                newsDB.CategotyId = news.CategoryId;
                newsDB.Body       = news.Body;
                newsDB.Date       = DateTime.Now;
                var path = Configuration.GetValue <String>("Path1") + news.Id.ToString();
                if (news.Picture != null && news.Picture.Length > 0)
                {
                    using (var stream = new FileStream(path, FileMode.OpenOrCreate))
                    {
                        await news.Picture.CopyToAsync(stream);
                    }
                }
                _newsProvider.UpdateNewsDB(news.Id, newsDB);
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Не удалось сохранить новость");
            }
            return(RedirectToAction("UserProfile", "User"));
        }
Пример #2
0
 public async Task <Comment[]> GetCommenstsByNewsId(long id)
 {
     try{
         var news = _newsProvider.GetNewsDB(id);
         return(await Task.WhenAll(_commentsProvider.GetComments().Where(c => c.NewsId == id)
                                   .Select(async c => new Comment(c.Id, c.Comment, await _usersService.GetAuthor(c.AuthorId), c.Date, id, news.Title))));
     } catch {
         return(new List <Comment>().ToArray());
     }
 }
Пример #3
0
        public async Task <NewsInfo> GetNews(long id)
        {
            NewsDB news = _newsProvider.GetNewsDB(id);

            return(await ToNewsInfo(news));
        }