public IActionResult GetCustomerWithRecentTransactions([FromBody] CustomerInquiryInputViewModel input) { try { if (input == null) { return(BadRequest("No inquiry criteria")); } if (ModelState.IsValid) { var customerDetails = _repository.GetCustomerTransaction(input); if (customerDetails.CustomerId == null) { return(NotFound()); } else { return(Ok(customerDetails)); } } else if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(BadRequest()); } catch (Exception ex) { return(StatusCode(500, "Internal server error")); } }
public CustomerInquiryViewModel GetCustomerTransaction(CustomerInquiryInputViewModel input) { if (input.CustomerId == null) { return(new CustomerInquiryViewModel(GetCustomerByEmail(input.Email)) { Transactions = RepositoryContext.Transactions .Where(a => a.CustomerId == input.CustomerId).OrderByDescending(date => date.TransactionDatetime).Take(5) }); } return(new CustomerInquiryViewModel(GetCustomerById(input.CustomerId)) { Transactions = RepositoryContext.Transactions .Where(a => a.CustomerId == input.CustomerId).OrderByDescending(date => date.TransactionDatetime).Take(5) }); }