private async Task <List <HandlerServiceResult> > ConfigureCategoryAction(string answer, User user)
        {
            answer = answer.Trim();

            if (string.IsNullOrEmpty(answer) || !answer.Contains("Add new category") && !answer.Contains("Edit category") && !answer.Contains("Delete category"))
            {
                return(new List <HandlerServiceResult>
                {
                    _resultService.BuildCategoryActionWrongAnswerErrorResult()
                });
            }

            if (answer.Equals("Add new category"))
            {
                var category = new Category
                {
                    Id         = _categoryDocumentService.GenerateNewId(),
                    UserId     = user.Id,
                    Configured = false
                };

                await _categoryDocumentService.InsertAsync(category);

                user.Context.CategoryId = category.Id;

                user.Context.CurrentNode = user.Context.CurrentNode.FindChildByQuestion(QuestionsEnum.CategoryName);
            }
            else if (answer.Equals("Edit category"))
            {
                user.Context.CurrentNode = user.Context.CurrentNode.FindChildByQuestion(QuestionsEnum.ChooseCategoryToEdit);
            }
            else
            {
                user.Context.CurrentNode = user.Context.CurrentNode.FindChildByQuestion(QuestionsEnum.ChooseCategoryToDelete);
            }

            await _userDocumentService.UpdateAsync(user);

            return(new List <HandlerServiceResult>
            {
                await _questionService.BuildQuestion(user)
            });
        }