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) }); }