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")); }
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()); } }
public async Task <NewsInfo> GetNews(long id) { NewsDB news = _newsProvider.GetNewsDB(id); return(await ToNewsInfo(news)); }