public async Task <IHttpActionResult> GetTransacitonByCustId([FromUri] int id, Transaction transaction) { Customer customer = await _context.Customers.FindAsync(id); //Transaction transactionId = await _context.Transactions.FindAsync(customer.Id); List <Transaction> transactions = await _context.Transactions.ToListAsync(); List <Transaction> tranList = new List <Transaction>(); if (customer != null) { foreach (var item in transactions) { if (item.CustomerId == id) { tranList.Add(item); } // return Ok(tranList); } if (customer.Id == id) { return(Ok(tranList)); } } return(NotFound()); }
public async Task <IHttpActionResult> UpdateTransaction([FromUri] int id, [FromBody] Transaction updatedTransaction) { //check if id's match if (id != updatedTransaction?.Id) { return(BadRequest("Id's do not match.")); } //check modelstate if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //find transaction Transaction transaction = await _context.Transactions.FindAsync(id); Product product = await _context.Products.FindAsync(transaction.ProductSKU); //transaction doesn't exist if (transaction is null) { return(NotFound()); } if (updatedTransaction.CustomerId != null) { transaction.CustomerId = updatedTransaction.CustomerId; } if (updatedTransaction.DateOfTransaction != null) { transaction.DateOfTransaction = updatedTransaction.DateOfTransaction; } if (transaction.ProductSKU == updatedTransaction.ProductSKU & updatedTransaction.ProductSKU != null) { if (transaction.ItemCount > updatedTransaction.ItemCount) { product.NumberInInventory = product.NumberInInventory + (transaction.ItemCount - updatedTransaction.ItemCount); } else { product.NumberInInventory = product.NumberInInventory - (updatedTransaction.ItemCount - transaction.ItemCount); } } if (transaction.ProductSKU != updatedTransaction.ProductSKU & updatedTransaction.ProductSKU != null) { Product updatedProduct = await _context.Products.FindAsync(updatedTransaction.ProductSKU); if (transaction.ItemCount > updatedTransaction.ItemCount) { updatedProduct.NumberInInventory = updatedProduct.NumberInInventory + (transaction.ItemCount - updatedTransaction.ItemCount); product.NumberInInventory = product.NumberInInventory - (transaction.ItemCount - updatedTransaction.ItemCount); } else { updatedProduct.NumberInInventory = updatedProduct.NumberInInventory - (updatedTransaction.ItemCount - transaction.ItemCount); } product.NumberInInventory = product.NumberInInventory + (updatedTransaction.ItemCount - transaction.ItemCount); } if (updatedTransaction.ItemCount != null) { transaction.ItemCount = updatedTransaction.ItemCount; } if (updatedTransaction.ProductSKU != null) { transaction.ProductSKU = updatedTransaction.ProductSKU; } await _context.SaveChangesAsync(); return(Ok("Transaction was updated.")); }