public async Task<IHttpActionResult> PostCategory(string name) { var user = db.Users.Find(User.Identity.GetUserId()); if (!db.Categories.Any(c => c.Name == name && c.HouseholdId == user.HouseholdId)) { Category category = new Category() { Name = name, }; db.Categories.Add(category); await db.SaveChangesAsync(); } return Ok(); }
public async Task<IHttpActionResult> CreateBudgetItem(BudgetItem budgetItem) { budgetItem.HouseholdId = (int)db.Users.Find(User.Identity.GetUserId()).HouseholdId; var defCats = new List<string>() {"Salary","Rent | Mortgage","Utilities", "Gas", "Misc"}; var cats = db.Categories.Where(c => defCats.Contains(c.Name) || c.HouseholdId == budgetItem.HouseholdId); if (!cats.Any(c => c.Name == budgetItem.Category.Name)) { var newCat = new Category() { HouseholdId = budgetItem.HouseholdId, Name = budgetItem.Category.Name }; db.Categories.Add(newCat); await db.SaveChangesAsync(); budgetItem.Category.Id = newCat.Id; } if (!ModelState.IsValid) { return BadRequest(ModelState); } budgetItem.CategoryId = budgetItem.Category.Id; budgetItem.Category = null; db.BudgetItems.Add(budgetItem); await db.SaveChangesAsync(); return Ok(budgetItem); }