Example #1
0
        public async Task <GalleryDTO> GetGalleryAsync(Guid galleryId)
        {
            GalleryEntity galleryEntity = await _galleryRepository.GetGallery(galleryId);

            int numImagesInGallery = _imageRepository.GetNumberOfImagesInGallery(galleryEntity.Id);

            return(galleryEntity.ToGalleryDto(numImagesInGallery));
        }
Example #2
0
        public async Task <GalleryDTO> CreateGalleryAsync(Guid userId, GalleryCreationDTO galleryCreationDTO)
        {
            GalleryEntity entity = galleryCreationDTO.ToGalleryEntity(userId);

            GalleryEntity addedEntity = await _galleryRepository.PostGallery(entity);

            if (_galleryRepository.Save() == false)
            {
                throw new Exception();
            }

            return(addedEntity.ToGalleryDto(0));
        }
Example #3
0
        public async Task <GalleryDTO> PutGalleryAsync(Guid userId, Guid galleryId, GalleryPutDTO galleryPutDTO)
        {
            GalleryEntity galleryEntity = await _galleryRepository.GetGallery(galleryId);

            galleryPutDTO.ToGalleryEntity(ref galleryEntity);

            await _galleryRepository.PutGallery(galleryEntity);

            if (_galleryRepository.Save() == false)
            {
                throw new Exception();
            }

            int        numImagesInGallery = _imageRepository.GetNumberOfImagesInGallery(galleryEntity.Id);
            GalleryDTO dtoToReturn        = galleryEntity.ToGalleryDto(numImagesInGallery);

            return(dtoToReturn);
        }
Example #4
0
        public static Mock <IGalleryService> CreateGalleryServiceMock(List <GalleryEntity> GalleryEntities, List <ImageEntity> ImageEntities)
        {
            Mock <IGalleryService> mock = new Mock <IGalleryService>();

            mock
            .Setup(service => service.DoesGalleryExistAsync(It.IsAny <Guid>()))
            .ReturnsAsync((Guid galleryId) =>
            {
                return(GalleryEntities.FirstOrDefault(tmp => tmp.Id == galleryId) != null);
            });

            mock
            .Setup(service => service.IsGalleryOwnedByUserAsync(It.IsAny <Guid>(), It.IsAny <Guid>()))
            .ReturnsAsync((Guid galleryId, Guid userId) =>
            {
                GalleryEntity galleryEntity = GalleryEntities.FirstOrDefault(tmp => tmp.Id == galleryId);

                return(galleryEntity.fk_owner == userId);
            });

            mock
            .Setup(service => service.CreateGalleryAsync(It.IsAny <Guid>(), It.IsAny <GalleryCreationDTO>()))
            .ReturnsAsync((Guid userId, GalleryCreationDTO galleryCreationDTO) =>
            {
                GalleryEntity entity = galleryCreationDTO.ToGalleryEntity(userId);
                GalleryEntities.Add(entity);
                return(entity.ToGalleryDto(0));
            });

            mock
            .Setup(service => service.PutGalleryAsync(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <GalleryPutDTO>()))
            .ReturnsAsync((Guid userId, Guid galleryId, GalleryPutDTO galleryPutDTO) =>
            {
                GalleryEntity galleryEntity = GalleryEntities.FirstOrDefault(tmp => tmp.Id == galleryId);

                galleryPutDTO.ToGalleryEntity(ref galleryEntity);

                int numImagesInGallery = ImageEntities.FindAll(tmp => tmp.fk_gallery == galleryId).Count();

                return(galleryEntity.ToGalleryDto(numImagesInGallery));
            });

            mock
            .Setup(service => service.GetGalleryAsync(It.IsAny <Guid>()))
            .ReturnsAsync((Guid galleryId) =>
            {
                GalleryEntity entity = GalleryEntities.FirstOrDefault(tmp => tmp.Id == galleryId);

                int numImagesInGallery = ImageEntities.FindAll(tmp => tmp.fk_gallery == galleryId).Count();

                return(entity.ToGalleryDto(numImagesInGallery));
            });

            mock
            .Setup(service => service.GetGalleriesByUserAsync(It.IsAny <Guid>(), It.IsAny <Pagination>()))
            .ReturnsAsync((Guid userId, Pagination pagination) =>
            {
                IEnumerable <GalleryEntity> galleryEntities = GalleryEntities.FindAll(tmp => tmp.fk_owner == userId);

                IEnumerable <GalleryDTO> galleryDTOs = galleryEntities.Select(tmpEntity =>
                {
                    int numImagesInGallery = ImageEntities.FindAll(tmp => tmp.fk_gallery == tmpEntity.Id).Count();
                    return(tmpEntity.ToGalleryDto(numImagesInGallery));
                });

                return(galleryDTOs);
            });

            mock
            .Setup(service => service.DeleteGalleryAsync(It.IsAny <Guid>()))
            .Callback((Guid galleryId) =>
            {
                GalleryEntity entity = GalleryEntities.FirstOrDefault(tmp => tmp.Id == galleryId);
                GalleryEntities.Remove(entity);
            });

            return(mock);
        }