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