public IActionResult PutNews(int id, int userId, int clientId, string internalUserId, News news) { if (id != news.Id) { return(BadRequest()); } if (!_context.News.Any(n => n.Id == id)) { return(NotFound()); } var userReadIt = (_context.NewsReads.Where(n => n.NewsId == news.Id && n.UserId == userId).Count() > 0); if (!userReadIt && news.Read) { var newsRead = new NewsRead(); newsRead.NewsId = news.Id; newsRead.UserId = userId; _context.NewsReads.Add(newsRead); _context.SaveChanges(); } if (userReadIt && !news.Read) { return(Conflict()); } return(NoContent()); }
/// <summary> /// Setup news tracking /// </summary> /// <param name="newsId"></param> /// <returns></returns> public ResponseModel SetupNewsTracking(int newsId) { #region Setup news read var anonymousContactId = WorkContext.CurrentContact.AnonymousContactId; if (anonymousContactId > 0) { var newsRead = new NewsRead { NewsId = newsId, AnonymousContactId = anonymousContactId }; return(_newsReadRepository.Insert(newsRead)); } return(new ResponseModel { Success = true }); #endregion }
internal ResponseModel Update(NewsRead newsRead) { return(_newsReadRepository.Update(newsRead)); }
internal ResponseModel Delete(NewsRead newsRead) { return(_newsReadRepository.Delete(newsRead)); }
internal ResponseModel Insert(NewsRead newsRead) { return(_newsReadRepository.Insert(newsRead)); }