private CashOperationsFeeModel GetCashOperationsFeeModel(decimal volume, CashType cashType)
        {
            var result = new CashOperationsFeeModel
            {
                BrokerId = BrokerId,
                Asset    = Btc
            };

            switch (cashType)
            {
            case CashType.CashIn:
                result.CashInValue   = volume;
                result.CashInFeeType = CashOperationsFeeTypeModel.Percentage;
                break;

            case CashType.CashOut:
                result.CashOutValue   = volume;
                result.CashOutFeeType = CashOperationsFeeTypeModel.Percentage;
                break;

            case CashType.Transfer:
                result.CashTransferValue   = volume;
                result.CashTransferFeeType = CashOperationsFeeTypeModel.Percentage;
                break;
            }

            return(result);
        }
Beispiel #2
0
        public async Task <CashOperationsFeeModel> GetByBrokerIdAndAsset(string brokerId, string asset)
        {
            var response = await _client.GetByBrokerIdAndAssetAsync(new GetCashOperationsFeeByBrokerIdAndAssetRequest { BrokerId = brokerId, Asset = asset });

            if (response.CashOperationsFee == null)
            {
                return(null);
            }

            var result = new CashOperationsFeeModel(response.CashOperationsFee);

            return(result);
        }
        private IFeesClient InitializeFeesClient(CashOperationsFeeModel feeModel, SettingsModel settings)
        {
            var feesClientMock = new Mock <IFeesClient>();

            var cashOperationsFeesApiMock = new Mock <ICashOperationsFeesApi>();

            cashOperationsFeesApiMock.Setup(x => x.GetByBrokerIdAndAsset(It.IsAny <string>(), It.IsAny <string>()))
            .Returns((string brokerId, string asset) =>
            {
                return(Task.FromResult(feeModel));
            });
            feesClientMock.SetupGet(x => x.CashOperationsFees).Returns(() => cashOperationsFeesApiMock.Object);

            var settingsApiMock = new Mock <ISettingsApi>();

            settingsApiMock.Setup(x => x.GetByBrokerId(It.IsAny <string>()))
            .Returns((string brokerId) =>
            {
                return(Task.FromResult(settings));
            });
            feesClientMock.SetupGet(x => x.Settings).Returns(() => settingsApiMock.Object);

            return(feesClientMock.Object);
        }