public IActionResult DeleteItem([FromBody] DeleteItemModel model)
        {
            var username   = User?.Identity?.Name;
            var userResult = _userService?.GetUserForUsername(username);

            if (userResult?.Type == ResultType.Success)
            {
                var deleteResult = _shoppingListService.DeleteItemFromList(model.ListId, userResult.ReturnObj, model.ItemId);
                if (deleteResult.Type == ResultType.Success)
                {
                    return(Ok(new ShoppingListDto(deleteResult.ReturnObj)));
                }
                return(BadRequest(deleteResult.Message));
            }
            return(BadRequest(userResult.Message));
        }
Пример #2
0
        public async Task <DeleteItemResult> DeleteAsync(DeleteItemModel deleteItemModel)
        {
            var authResult = await authenticatorsStore.DeleteItemModelAuthenticator.AuthenticateAsync(deleteItemModel);

            if (!authResult.Succeed)
            {
                return(new DeleteItemResult(authResult));
            }
            var validResult = await validatorsStore.DeleteItemModelValidator.ValidateAsync(deleteItemModel);

            if (!validResult.Succeed)
            {
                return(new DeleteItemResult(validResult));
            }
            var result       = new DeleteItemResult();
            var itemResource = (await itemsCrudService.GetAsync(deleteItemModel.ItemId)).Resource;
            await itemsCrudService.DeleteAsync(deleteItemModel.ItemId);

            await resourcesManager.DeleteAsync(itemResource);

            return(result);
        }