/// <summary>
        /// Converts from.
        /// </summary>
        /// <param name="merchantBalanceModel">The merchant balance model.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">merchantBalanceModel</exception>
        public MerchantBalanceViewModel ConvertFrom(MerchantBalanceModel merchantBalanceModel)
        {
            if (merchantBalanceModel == null)
            {
                throw new ArgumentNullException(nameof(merchantBalanceModel));
            }

            MerchantBalanceViewModel viewModel = new MerchantBalanceViewModel
            {
                EstateId         = merchantBalanceModel.EstateId,
                AvailableBalance = merchantBalanceModel.AvailableBalance,
                Balance          = merchantBalanceModel.Balance,
                MerchantId       = merchantBalanceModel.MerchantId
            };

            return(viewModel);
        }
        public async Task <IActionResult> GetMerchantBalanceAsJson([FromQuery] Guid merchantId,
                                                                   CancellationToken cancellationToken)
        {
            try
            {
                String accessToken = await this.HttpContext.GetTokenAsync("access_token");

                MerchantBalanceModel merchantBalance = await this.ApiClient.GetMerchantBalance(accessToken, this.User.Identity as ClaimsIdentity, merchantId, cancellationToken);

                MerchantBalanceViewModel viewModel = this.ViewModelFactory.ConvertFrom(merchantBalance);

                return(this.Json(viewModel));
            }
            catch (Exception e)
            {
                Logger.LogError(e);
                return(this.Json(Helpers.GetErrorDataForDataTable <String>("Error getting merchant balance")));
            }
        }