private async Task <List <HandlerServiceResult> > ConfigureCategoryName(string answer, User user) { answer = answer.Trim(); if (string.IsNullOrEmpty(answer)) { return(new List <HandlerServiceResult> { _resultService.BuildClearCategoryNameErrorResult() }); } if (answer.Length > 30) { return(new List <HandlerServiceResult> { _resultService.BuildLongCategoryNameErrorResult() }); } var categoriesWithTheSameName = await _categoryDocumentService.GetByUserIdAsync(user.Id); categoriesWithTheSameName = categoriesWithTheSameName.Where(c => c.Configured && c.Name.Equals(answer)).ToList(); if (categoriesWithTheSameName.Count > 0) { return(new List <HandlerServiceResult> { _resultService.BuildNotUniqueCategoryNameErrorResult() }); } var category = await _categoryDocumentService.GetByIdAsync(user.Context.CategoryId); category.Name = answer; await _categoryDocumentService.UpdateAsync(category); user.Context.CurrentNode = user.Context.CurrentNode.Children.FirstOrDefault(); await _userDocumentService.UpdateAsync(user); return(new List <HandlerServiceResult> { await _questionService.BuildQuestion(user) }); }