public AccountBalanceDto GetAccountBalance(Guid customerId, Guid accountId) { string query = $@"SELECT acc.CustomerId, acc.AccountId, ca.CreatedOn, CASE WHEN ca.AccountType = 1 THEN 'Saving' ELSE 'Current' END AccountType, ca.AccountNumber, BalanceAmount FROM ( SELECT CustomerId, AccountId, SUM(DrAmount - CrAmount) BalanceAmount FROM AccountTransaction WHERE CustomerId = '{customerId.ToString()}' and AccountId = '{accountId.ToString()}' and TransactionDate <= GETDATE() GROUP BY CustomerId, AccountId )acc INNER JOIN CustomerAccount ca ON acc.CustomerId = ca.CustomerId and acc.AccountId = ca.AccountId"; var v = new AccountBalanceDto(); using (var con = new SqlConnection(_connectionString)) { v = con.Query <AccountBalanceDto>(query).FirstOrDefault(); } return(v); }
public SingleObjectModel GetAccountBalance([FromUri] string accountNumber) { using (var usecases = AccountBalanceUseCases.UseCaseInteractor()) { AccountBalanceDto accountBalance = usecases.AccountBalance(accountNumber); return(new SingleObjectModel(this.Request, accountBalance)); } }
public async Task <Object> ProcessTransaction1(AccountBalanceDto mpesaRequest, string token) { HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Clear(); client.BaseAddress = new Uri("https://sandbox.safaricom.co.ke"); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var json = JsonConvert.SerializeObject(mpesaRequest); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var resWithToken = client.PostAsync("/mpesa/transactionstatus/v1/query", httpContent).Result; stringData = resWithToken.Content.ReadAsStringAsync().Result; var response = JsonConvert.DeserializeObject <AccountBalanceResponse>(stringData); return(response); }
public void SaveAccountBalanceDto(AccountBalanceDto balance) { Set(balance.Id, balance); }