public IActionResult SetCategoriesList(CategoriesList categoriesList)
        {
            var user = dbContext.Channels.Find(categoriesList.ChannelId)?.User;

            if (user == null)
            {
                return(BadRequest());
            }
            foreach (var category in categoriesList.Categories)
            {
                var newExpensesCategory = new RegularExpensesCategory(user, category.ToLowerInvariant());
                dbContext.RegularExpensesCategories.Add(newExpensesCategory);
            }
            dbContext.SaveChanges();
            return(Ok());
        }
        public IActionResult AddExpensesCategory(Channel channel, RegularExpensesCategory expensesCategory)
        {
            var user = dbContext.Channels.Find(channel.Id)?.User;

            if (user == null)
            {
                return(BadRequest());
            }
            expensesCategory.SetUser(user);

            if (dbContext.RegularExpensesCategories.Find(expensesCategory.Category) == null)
            {
                dbContext.RegularExpensesCategories.Add(expensesCategory);
                return(Ok());
            }
            return(BadRequest());
        }
        public IActionResult RemoveExpensesCategory(Channel channel, RegularExpensesCategory expensesCategory)
        {
            var user = dbContext.Channels.Find(channel.Id)?.User;

            if (user == null)
            {
                return(BadRequest());
            }
            var expensesCategoryToRemove = dbContext.RegularExpensesCategories
                                           .FirstOrDefault(cat => cat.User.Equals(user) &&
                                                           cat.Category.Equals(expensesCategory.Category, StringComparison.InvariantCultureIgnoreCase));

            if (expensesCategoryToRemove != null)
            {
                dbContext.RegularExpensesCategories.Remove(expensesCategoryToRemove);
            }
            return(Ok());
        }