public IHttpActionResult PostExpense(ExpenseUserModel expense) { var userID = db.Users.FirstOrDefault(x => x.UserName == expense.UserName).Id; if (!ModelState.IsValid) { //return BadRequest(ModelState); } expense.Expense.UserId = userID; db.Expenses.Add(expense.Expense); db.SaveChanges(); var transaction = new Transaction(); transaction.ProjectID = (short?)expense.Expense.ProjectID; transaction.AssetID = (short?)expense.Expense.AssetID; transaction.SupplierID = (int?)expense.Expense.SupplierID; transaction.ExpenseID = (int?)expense.Expense.ExpenseID; transaction.TotalAmount = (int?)expense.Expense.Amount; db.Transaction.Add(transaction); var supplier = db.Suppliers.FirstOrDefault(x => x.SupplierID == expense.Expense.SupplierID); supplier.AmountPaid = (supplier.AmountPaid != null ? supplier.AmountPaid : 0) + expense.Expense.Amount; db.SaveChanges(); return(Ok(expense)); }
public IHttpActionResult PutExpense(ExpenseUserModel expense) { var userID = db.Users.FirstOrDefault(x => x.UserName == expense.UserName).Id; expense.Expense.UserId = userID; var id = expense.Expense.ExpenseID; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != expense.Expense.ExpenseID) { return(BadRequest()); } db.Entry(expense.Expense).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ExpenseExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }