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.");
     }
 }
Beispiel #3
0
 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
         },
     });
 }
Beispiel #4
0
        private bool Unlike(UserEntity author, PublicationEntity publication)
        {
            author.Favorites.Remove(publication);
            publication.Favorites.Remove(author);
            _repository.Commit();

            return(false);
        }
Beispiel #5
0
        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);
        }
Beispiel #13
0
        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);
        }
Beispiel #20
0
 private void CheckFavorites(UserEntity author, PublicationEntity publication)
 {
     _getableFavorite.GetPublicationsWithFavorites(author.Id);
     _getableFavorite.GetAuthors(publication.Id);
 }