Example #1
0
        public userAllorder()
        {
            InitializeComponent();

            transactionViewModel     = new GetTransactionViewModel();
            transList.BindingContext = transactionViewModel;
        }
        public async Task <IActionResult> GetTransactionsAsync([FromBody] GetTransactionViewModel model)
        {
            if (ModelState.IsValid)
            {
                var result = await _transactionService.GetTransactionAsync(model);

                if (result.IsSuccess)
                {
                    return(Ok(result)); //Status Code : 200
                }
                return(BadRequest(result));
            }

            return(BadRequest("Some properties are not valid")); //return code:400
        }
        public async Task <GetTransactionResponse> GetTransactionAsync(GetTransactionViewModel model)
        {
            try
            {
                //get merchant
                var merchantId = _context.MerchantAccounts.FirstOrDefault(x => x.ApiKey == model.HashCode).MerchantAccountId;

                if (merchantId != 0)
                {
                    //get all customer account for merchant
                    var customers = _context.CustomerAccounts.Where(x => x.MerchantAccountId == merchantId).ToList();

                    // var transactions = new List<Transaction>();
                    var _customers = new List <CustomerDto>();
                    foreach (var item in customers)
                    {
                        var customer     = new CustomerDto();
                        var transactions = _context.Transactions.Where(a => a.AccountNumber == item.AccountNumber && a.CreatedOn >= model.Date).ToList();

                        customer.AccountNumber = item.AccountNumber;
                        customer.AccountName   = item.AccountName;
                        customer.Transactions  = transactions.ToList();

                        _customers.Add(customer);
                    }


                    return(new GetTransactionResponse
                    {
                        Customers = _customers,
                        Message = "Customer transaction records returned successfully",
                        IsSuccess = true
                    });
                }

                return(new GetTransactionResponse
                {
                    Customers = null,
                    Message = "Customer transaction records failed to return",
                    IsSuccess = true
                });
            }
            catch (Exception ex)
            {
                throw new NullReferenceException(ex.Message);
            }
        }