private void CheckPublicationIsValid(PublicationEntity publication, Guid id) { if (publication == null) { throw new ObjectNotFoundException($"Publication by Id: {id} not found."); } }
private void CheckPublicationFavorites(PublicationEntity publication) { if (IsFavoritesInPublicationFound(publication) == false) { throw new FavoritesNotFoundException($"Publication by id: {publication.Id} doesn't have a favorites."); } }
private FavoriteResultDTO InitFavorite(PublicationEntity publication, UserEntity author) { return(new FavoriteResultDTO() { Publication = new PublicationDTO() { Id = publication.Id, Author = new UserDTO() { Id = author.Id, Email = author.Email, Image = author.Image, Name = author.Name }, Text = publication.Text, ImagePaths = publication.Images.Select(i => i.Title).ToList(), }, User = new UserDTO() { Id = author.Id, Email = author.Email, Image = author.Image, Name = author.Name }, }); }
private bool Unlike(UserEntity author, PublicationEntity publication) { author.Favorites.Remove(publication); publication.Favorites.Remove(author); _repository.Commit(); return(false); }
private bool Like(UserEntity author, PublicationEntity publication) { author.Favorites.Add(publication); publication.Favorites.Add(author); _repository.Commit(); return(true); }
public async Task <PublicationEntity> UpdateAsync(PublicationEntity publication) { CheckPublicationIsValid(publication.Id); await _publicationRepository.UpdateAsync(publication); return(publication); }
private bool IsPublicationAlreadyExist(PublicationEntity publication) { if (_getablePublication.GetAll().Any(p => p.Id == publication.Id) == true) { return(true); } return(false); }
private void CheckPublicationIsValid(PublicationEntity publication) { if (IsPublicationAlreadyExist(publication) == true) { throw new ObjectAlreadyExistException($"Publication by Id: {publication.Id} already exists."); } CheckAuthorIsValid(publication.AuthorId); }
private bool IsFavoritesInPublicationFound(PublicationEntity publication) { if (publication.Favorites != null && publication.Favorites.Count != 0) { return(true); } return(false); }
private async Task TrySaveImages(PublicationEntity publication) { if (IsPublicationContainImages(publication)) { foreach (ImageEntity imageEntity in publication.Images) { await _imageRepositorySystem.TrySaveAsync(imageEntity); } } }
private bool IsPublicationContainImages(PublicationEntity publication) { if (publication.Images != null && publication.Images.Count() != 0) { return(true); } return(false); }
public async Task <PublicationEntity> AddAsync(PublicationEntity publication) { CheckPublicationIsValid(publication); await TrySaveImages(publication); await _publicationRepository.AddAsync(publication); return(publication); }
public bool LikeOrUnlike(UserEntity author, PublicationEntity publication) { try { CheckFavorites(author, publication); return(Unlike(author, publication)); } catch (FavoritesNotFoundException) { return(Like(author, publication)); } }
public void PublicationsRepository_Update_Works() { var guid = Guid.NewGuid(); var pub = new PublicationEntity(); pub.Publication = "test"; var mock = new Mock <IPublicationsXMLService>(); mock.Setup(T => T.Update(guid, pub)); var repos = new PublicationsRepository(mock.Object); repos.Update(guid, pub); Assert.IsTrue(true); }
public void PublicationsRepository_Add_Works() { var pub = new PublicationEntity(); pub.Publication = "test"; Guid g = Guid.NewGuid(); var mockXmlService = new Mock <IPublicationsXMLService>(); mockXmlService.Setup(T => T.Insert(pub)).Returns(g); var repos = new PublicationsRepository(mockXmlService.Object); var returnedGuid = repos.Add(pub); Assert.AreEqual(g, returnedGuid); }
public void PublicationsXMLService_Delete_Works() { // Deleting one that exists works var ent = new PublicationEntity(); var id = serv.Insert(ent); var entGot = serv.Get(id); Assert.IsNotNull(entGot); serv.Delete(id); var entGot2 = serv.Get(id); Assert.IsNull(entGot2); }
public void PublicationsRepository_Get_Works() { Guid guid = Guid.NewGuid(); var pub = new PublicationEntity(); pub.Publication = "test"; var mockXmlService = new Mock <IPublicationsXMLService>(); mockXmlService.Setup(T => T.Get(guid)).Returns(pub); var repos = new PublicationsRepository(mockXmlService.Object); var returnedPub = repos.Get(guid); Assert.IsNotNull(returnedPub); Assert.AreEqual("test", returnedPub.Publication); }
public void PublicationsRepository_GetAll_Works() { var listOfPublications = new List <IPublicationEntity>(); for (int i = 0; i < 21; i++) { var pe = new PublicationEntity(); pe.Publication = "test"; listOfPublications.Add(pe); } var mockXmlService = new Mock <IPublicationsXMLService>(); mockXmlService.Setup(T => T.GetAll()).Returns(listOfPublications); var repos = new PublicationsRepository(mockXmlService.Object); var returnedList = repos.GetAll(); Assert.IsNotNull(returnedList); Assert.AreEqual(21, returnedList.Count); Assert.IsTrue(returnedList.All(T => T.Publication == "test")); }
public void PublicationsXMLService_Insert_Works() { // Insert one with a text publication var pub1 = new PublicationEntity { Publication = "test" }; var id1 = serv.Insert(pub1); var ent1 = serv.Get(id1); Assert.IsNotNull(id1); Assert.IsNotNull(ent1); Assert.AreEqual("test", ent1.Publication); // Insert one with a "" publication var pub2 = new PublicationEntity(); var id2 = serv.Insert(pub2); var ent2 = serv.Get(id2); Assert.IsNotNull(id2); Assert.IsNotNull(ent2); Assert.AreEqual(string.Empty, ent2.Publication); }
private void CheckFavorites(UserEntity author, PublicationEntity publication) { _getableFavorite.GetPublicationsWithFavorites(author.Id); _getableFavorite.GetAuthors(publication.Id); }