public async Task EditAsync(string id, ShoppingListServiceModel shoppingListServiceModel)
        {
            var shoppingListFromDb = await this.shoppingListRepository
                                     .GetByIdWithDeletedAsync(id);

            if (shoppingListFromDb == null)
            {
                throw new ArgumentNullException(
                          string.Format(InvalidShoppingListIdErrorMessage, id));
            }

            shoppingListFromDb.Ingredients = shoppingListServiceModel.Ingredients;

            this.shoppingListRepository.Update(shoppingListFromDb);
        }
Exemple #2
0
        public async Task <bool> SetShoppingListAsync(string userId, ShoppingListServiceModel shoppingListServiceModel)
        {
            var user = await this.userRepository.GetByIdWithDeletedAsync(userId);

            if (user == null)
            {
                throw new ArgumentNullException(
                          string.Format(InvalidUserIdErrorMessage, userId));
            }

            await this.shoppingListService
            .SetShoppingListToUserAsync(shoppingListServiceModel.Id, user);

            var result = await this.userManager.UpdateAsync(user);

            return(result.Succeeded);
        }
        public async Task EditAsync_WithNonExistentId_ShouldThrowArgumentNullException()
        {
            // Arrange
            MapperInitializer.InitializeMapper();
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();
            var shoppingListRepository   = new EfDeletableEntityRepository <ShoppingList>(context);
            var shoppingListService      = new ShoppingListService(shoppingListRepository);
            var shoppingListServiceModel = new ShoppingListServiceModel();
            var nonExistentId            = Guid.NewGuid().ToString();

            // Act

            // Assert
            await Assert.ThrowsAsync <ArgumentNullException>(async() =>
            {
                await shoppingListService.EditAsync(nonExistentId, shoppingListServiceModel);
            });
        }