Пример #1
0
        public async Task <IEnumerable <int> > GetCategoriesIds(string textForCategorizing)
        {
            var categoriesIdsToReturn = new List <int>();

            try
            {
                var keyPhrases = await _keyPhrasesAnalyzer.AnalyzeText("pl", textForCategorizing);

                var availableCategories = _categoryRepository.GetAllCategories();

                var categoriesWhichAlreadyExistInDatabase = availableCategories
                                                            .Where(ac => keyPhrases.Select(k => k.ToLower()).Contains(ac.Name.ToLower()))
                                                            .ToList();

                var categoriesToAdd = keyPhrases
                                      .Except(categoriesWhichAlreadyExistInDatabase.Select(c => c.Name), StringComparer.OrdinalIgnoreCase)
                                      .Select(k => new Category()
                {
                    Name = k
                })
                                      .ToList();

                var newlyAddedCategories = _categoryRepository.AddCategories(categoriesToAdd);

                categoriesIdsToReturn.AddRange(categoriesWhichAlreadyExistInDatabase.Select(c => c.CategoryId));
                categoriesIdsToReturn.AddRange(newlyAddedCategories);

                return(categoriesIdsToReturn);
            }
            catch (System.Exception ex)
            {
                _logger.LogError($"Error occured during adding categories: {ex.ToString()}");
                return(null);
            }
        }
Пример #2
0
        public async Task <User> Add(User user)
        {
            user.Password = HashPassword(user.Password);

            var newUser = await _userRepo.AddUser(user);

            var categories = new Category[]
            {
                new Category {
                    UserID = newUser.ID, Name = "Dinner", Order = 0
                },
                new Category {
                    UserID = newUser.ID, Name = "Lunch", Order = 1
                },
                new Category {
                    UserID = newUser.ID, Name = "Breakfast", Order = 2
                },
                new Category {
                    UserID = newUser.ID, Name = "Fast Meals", Order = 3
                },
                new Category {
                    UserID = newUser.ID, Name = "Salads", Order = 4
                },
            };

            await _categoryRepo.AddCategories(categories);

            return(newUser);
        }