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"));
            }
        }
Exemplo n.º 2
0
 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)
     });
 }