public static void NewAccount(HouseholdAccount model) { var account = new HouseholdAccount() { Name = model.Name, OriginalName = model.Name, Balance = model.Balance, ReconciledBalance = model.Balance, HouseholdId = (int)user.HouseholdId }; db.HouseholdAccounts.Add(account); var transaction = new Transaction() { Description = "New Account: " + model.Name + " created.", Amount = model.Balance, Created = DateTimeOffset.Now, IsReconciled = true, HouseholdAccountId = model.HouseholdId, CategoryId = user.Household.Categories.FirstOrDefault(c => c.Name == "New Account Created").Id }; db.Transactions.Add(transaction); db.SaveChangesAsync(); }
public async Task<IHttpActionResult> Create(HouseholdAccount model) { if (!ModelState.IsValid) { return BadRequest(ModelState); } else { BP_Helper.NewAccount(model); await db.SaveChangesAsync(); return Ok(model.Name + " created successfully."); } }
public static void AdjustBalance(HouseholdAccount model) { var oldAccount = db.HouseholdAccounts.FirstOrDefault(a => a.Id == model.Id); var adjBal = oldAccount.Balance - model.Balance; var transaction = new Transaction() { Description = "User Adjusted Balance", Amount = adjBal, IsReconciled = true, CategoryId = user.Household.Categories.FirstOrDefault(c => c.Name == "User Adjusted Balance").Id, Created = DateTimeOffset.Now, HouseholdAccountId = model.Id }; db.Transactions.Add(transaction); oldAccount.Balance -= adjBal; oldAccount.ReconciledBalance -= adjBal; db.SaveChangesAsync(); }
public async Task<IHttpActionResult> Edit(HouseholdAccount model) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var oldAccount = db.HouseholdAccounts.FirstOrDefault(a => a.Id == model.Id); if (oldAccount.Name != model.Name) { oldAccount.Name = model.Name; oldAccount.OriginalName = model.Name; } //check balance if (oldAccount.Balance != model.Balance) { BP_Helper.AdjustBalance(model); } await db.SaveChangesAsync(); return Ok(); }