/// <summary> /// Links a news item to author by their ids /// </summary> /// <param name="authorId">id of author to link to news item</param> /// <param name="newsItemId">id of news item to link to author</param> public void LinkNewsItemToAuthor(int authorId, int newsItemId) { // Check if author and news item exist by id GetAuthorById(authorId); _newsItemService.GetNewsItemById(newsItemId); // if no resource not found exception is thrown, add relation if it doesn't already exist var newRelation = new AuthorNewsItemRelation { AuthorId = authorId, NewsItemId = newsItemId }; if (getNewsItems(authorId).Where(x => x.AuthorId == authorId && x.NewsItemId == newsItemId).Count() == 0) { _newsItemRelationRepository.AddRelation(newRelation); } }
/// <summary> /// Deletes relation from relational list /// </summary> /// <param name="relation">the relation to delete</param> public void AddRelation(AuthorNewsItemRelation relation) => _relationalDataProvider.GetAuthorNewsItemRelations().Add(relation);
/// <summary> /// Deletes relation from relational list /// </summary> /// <param name="relation">the relation to delete</param> public void DeleteRelation(AuthorNewsItemRelation relation) => _relationalDataProvider.GetAuthorNewsItemRelations().Remove(relation);