public static string ToHumanReadable(this MonetaryOfferTypeEnum type) { switch (type) { case MonetaryOfferTypeEnum.Buy: return("buy"); case MonetaryOfferTypeEnum.Sell: return("sell"); } return(type.ToString()); }
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 }); }
public MonetaryOfferDummyCreator SetMonetaryOfferType(MonetaryOfferTypeEnum monetaryOfferType) { this.monetaryOfferType = monetaryOfferType; reset(); return(this); }
public int GetUsedCurrencyID(MonetaryOfferTypeEnum offerType, int sellCurrencyID, int buyCurrencyID) { return(offerType == MonetaryOfferTypeEnum.Sell ? buyCurrencyID : sellCurrencyID); }