コード例 #1
0
        public static string ToHumanReadable(this MonetaryOfferTypeEnum type)
        {
            switch (type)
            {
            case MonetaryOfferTypeEnum.Buy:
                return("buy");

            case MonetaryOfferTypeEnum.Sell:
                return("sell");
            }

            return(type.ToString());
        }
コード例 #2
0
        public MonetaryOfferCost GetMonetaryOfferCost(int sellCurrencyID, int buyCurrencyID, int amount, double rate, MonetaryOfferTypeEnum offerType)
        {
            var usedCurrencyID  = GetUsedCurrencyID(offerType, sellCurrencyID, buyCurrencyID);
            var currencyCountry = Persistent.Countries.FirstOrDefault(c => c.CurrencyID == usedCurrencyID);

            CountryPolicy policy = null;

            if (currencyCountry != null)
            {
                policy = countryRepository.GetCountryPolicyById(currencyCountry.ID);
            }
            var usedCurrency = Persistent.Currencies.GetById(usedCurrencyID);

            var offerCost = amount * (offerType == MonetaryOfferTypeEnum.Buy ? rate : 1);

            var tax = CalculateTax(offerCost, (double)(policy?.MonetaryTaxRate ?? 0), (double)(policy?.MinimumMonetaryTax ?? 0));


            return(new MonetaryOfferCost()
            {
                OfferCost = offerCost,
                TaxCost = tax,
                Currency = usedCurrency
            });
        }
コード例 #3
0
 public MonetaryOfferDummyCreator SetMonetaryOfferType(MonetaryOfferTypeEnum monetaryOfferType)
 {
     this.monetaryOfferType = monetaryOfferType;
     reset();
     return(this);
 }
コード例 #4
0
 public int GetUsedCurrencyID(MonetaryOfferTypeEnum offerType, int sellCurrencyID, int buyCurrencyID)
 {
     return(offerType == MonetaryOfferTypeEnum.Sell ? buyCurrencyID : sellCurrencyID);
 }