internal async Task <SalarySettleResponse> CreateAccountTransactionAsync(string accountFromHeader, SalarySettleRequest request)
        {
            try
            {
                //Workaround: AccountKey in Credentials must be provided as a request header.
                Credentials.AccountKey = accountFromHeader;

                var genericServiceClientHelper = new GenericServiceClientHelper <SalarySettlement_ServiceClient, SalarySettlement_Service>(Credentials, AppSettings);
                var service = genericServiceClientHelper.GetServiceClient();
                service.Endpoint.Binding.SendTimeout = new TimeSpan(0, 10, 0);
                var response = await service.SalarySettleAsync(request);

                await service.CloseAsync();

                return(response);
            }
            catch (Exception exception)
            {
                throw new Exception($"Error in CreateAccountTransaction(): {exception.Message}");
            }
        }
 /// <summary>
 /// Create an AccountTransaction (a SalarySettle).
 /// </summary>
 /// <param name="request">The Request body contains SalarySettleRequest. [Required]</param>
 /// <returns>Returns SalarySettleResponse </returns>
 public async Task <SalarySettleResponse> CreateAccountTransaction(string accountFromHeader, SalarySettleRequest request)
 {
     return(await CreateAccountTransactionAsync(accountFromHeader, request));
 }