/***************** * UPDATE */ public IActionResult Edit(int galleryId) { GalleryEntity entity = galleryRepository.FindById(galleryId); GalleryEditorViewModel viewModel = new GalleryEditorViewModel(entity.Id, entity.Label); return(View("Editor", viewModel)); }
public async Task GetGallery_not_mine_and_it_exist() { // Arrange var controller = new GalleryController(GalleryService.Object); controller.ControllerContext = APIControllerUtils.CreateApiControllerContext(UserEntities[0].Id.ToString()); GalleryEntity newGallery = new GalleryEntity() { Id = Guid.NewGuid(), fk_owner = UserEntities[1].Id, Name = "TestName", owner = UserEntities[1] }; GalleryEntities.Add(newGallery); // Act ActionResult <GalleryDTO> response = await controller.GetGallery(newGallery.Id); // Assert Assert.IsInstanceOfType(response.Result, typeof(UnauthorizedResult)); var result = response.Result as UnauthorizedResult; Assert.AreEqual(401, result.StatusCode); GalleryEntities.Remove(newGallery); }
public async Task DeleteGallery_mine_and_it_exist() { // Arrange var controller = new GalleryController(GalleryService.Object); controller.ControllerContext = APIControllerUtils.CreateApiControllerContext(UserEntities[0].Id.ToString()); GalleryEntity newGallery = new GalleryEntity() { Id = Guid.NewGuid(), fk_owner = UserEntities[0].Id, Name = "TestName", owner = UserEntities[0] }; GalleryEntities.Add(newGallery); // Act ActionResult response = await controller.DeleteGallery(newGallery.Id); // Assert Assert.IsInstanceOfType(response, typeof(NoContentResult)); var result = response as NoContentResult; Assert.AreEqual(204, result.StatusCode); GalleryService.Verify(repo => repo.DeleteGalleryAsync(It.IsAny <Guid>()), Times.Once()); GalleryEntities.Remove(newGallery); }
public async Task PutGallery_mine_and_it_exist() { // Arrange var controller = new GalleryController(GalleryService.Object); controller.ControllerContext = APIControllerUtils.CreateApiControllerContext(UserEntities[0].Id.ToString()); GalleryEntity newGalleryEntity = new GalleryEntity() { Id = Guid.NewGuid(), Name = "TestGalleryName", fk_owner = UserEntities[0].Id, owner = UserEntities[0] }; GalleryEntities.Add(newGalleryEntity); // Act GalleryPutDTO galleryPutDto = new GalleryPutDTO("UpdatedTestGalleryName"); ActionResult <GalleryDTO> response = await controller.PutGallery(newGalleryEntity.Id, galleryPutDto); // Assert Assert.IsInstanceOfType(response.Result, typeof(CreatedAtActionResult)); var result = response.Result as CreatedAtActionResult; Assert.AreEqual(201, result.StatusCode); Assert.IsNotNull(result.Value); Assert.IsInstanceOfType(result.Value, typeof(GalleryDTO)); GalleryDTO retrievedItem = result.Value as GalleryDTO; Assert.AreEqual(retrievedItem.Id, newGalleryEntity.Id); Assert.AreEqual(retrievedItem.Name, "UpdatedTestGalleryName"); GalleryEntities.Remove(newGalleryEntity); }
public void Delete(int id) { GalleryEntity entity = FindById(id); databaseContext.Gallery.Remove(entity); databaseContext.SaveChanges(); }
public IActionResult Index(int galleryId) { GalleryEntity galleryEntity = galleryRepository.FindById(galleryId); List <ImageEntity> imageEntities = imageRepository.FindAllByGalleryId(galleryId); GalleryViewModel viewModel = new GalleryViewModel(galleryEntity, imageEntities); return(View("Index", viewModel)); }
public async Task <GalleryDTO> GetGalleryAsync(Guid galleryId) { GalleryEntity galleryEntity = await _galleryRepository.GetGallery(galleryId); int numImagesInGallery = _imageRepository.GetNumberOfImagesInGallery(galleryEntity.Id); return(galleryEntity.ToGalleryDto(numImagesInGallery)); }
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)); }
public void Save(int id, string label) { GalleryEntity entity; if (id == 0) { entity = new GalleryEntity(); entity.Id = id; entity.Label = label; databaseContext.Gallery.Add(entity); databaseContext.SaveChanges(); return; } entity = FindById(id); entity.Label = label; databaseContext.Gallery.Update(entity); databaseContext.SaveChanges(); }
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); }
public static GalleryDTO ToGalleryDto(this GalleryEntity galleryEntity, int numberOfImages) { return(new GalleryDTO(galleryEntity.Id, galleryEntity.fk_owner, galleryEntity.Name, numberOfImages)); }
public async Task <bool> DoesGalleryExistAsync(Guid galleryId) { GalleryEntity gallery = await _galleryRepository.GetGallery(galleryId); return(gallery != null); }
public async Task PutGallery(GalleryEntity galleryItem) { // This repository uses Entity Framework // Method is empty because caller is updating entity properties in-place // The entity is tracked by EF and reflected onto the DB when calling Save() }
public async Task <GalleryEntity> PostGallery(GalleryEntity galleryItem) { var changeTracking = await _context.Galleries.AddAsync(galleryItem); return(changeTracking.Entity); }
public async Task <bool> IsGalleryOwnedByUserAsync(Guid galleryId, Guid userId) { GalleryEntity gallery = await _galleryRepository.GetGallery(galleryId); return(gallery.fk_owner == userId); }
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); }
/// <summary> /// Updates the entity properties in-place /// </summary> public static void ToGalleryEntity(this GalleryPutDTO galleryDto, ref GalleryEntity entityToUpdate) { entityToUpdate.Name = galleryDto.Name; }