public Currency(string symbol, CurrencySymbolPosition symbolPosition) { Contract.Requires(!String.IsNullOrWhiteSpace(symbol)); Symbol = symbol; SymbolPosition = symbolPosition; }
public Price(decimal amount, Booking booking = Booking.Credit, string currencyCode = "EUR", string currencySymbol = "€", CurrencySymbolPosition currencySymbolPosition = CurrencySymbolPosition.End) : base(amount, new Currency(currencyCode, currencySymbol, currencySymbolPosition)) { Booking = booking; }
public Currency(string currencyCode, string currencySymbol, CurrencySymbolPosition position) { if (currencyCode == null) { throw new ArgumentNullException("Invalid Currency code!", nameof(currencyCode)); } if (currencyCode.Length != 3) { throw new ArgumentException("Invalid Currency code! Currency code should be three characters long.", nameof(currencyCode)); } CurrencyCode = currencyCode; CurrencySymbol = currencySymbol; PositionRelativeToPrice = position; }
public void Valid_lineItem(decimal amount, Booking booking, string currencyCode, string currencySymbol, CurrencySymbolPosition currencySymbolPosition) { var brand = Brand.Create(Guid.NewGuid(), "brand"); var productType = ProductType.Create(Guid.NewGuid(), "product type"); var size = Size.Create(Guid.NewGuid(), "your size"); var product = Product.Create(Guid.NewGuid(), "product", brand, productType, size); var price = new Price(amount, booking, currencyCode, currencySymbol, currencySymbolPosition); var sut = LineItemBuilder.LineItem(price).WithProduct(product).Build(); Assert.IsType <LineItem>(sut); Assert.Equal(amount, sut.Price.Amount); Assert.Equal(booking, sut.Price.Booking); Assert.Equal(currencyCode, sut.Price.Currency.CurrencyCode); Assert.Equal(currencySymbol, sut.Price.Currency.CurrencySymbol); Assert.Equal(currencySymbolPosition, sut.Price.Currency.PositionRelativeToPrice); }
public string[] LegacyComponents(CurrencySymbolPosition currencySymbolPosition = CurrencySymbolPosition.Left) { string[] result = { string.Empty, string.Empty }; string componentString = NumberMinifier.PrettyAbbreviatedValue(Value, false, "|"); string[] components = componentString.Split(new char[] { '|' }); switch (currencySymbolPosition) { case CurrencySymbolPosition.Left: { result[0] = $"${components[0]}"; } break; case CurrencySymbolPosition.Right: { result[0] = $"{components[0]}$"; } break; } if (components.Length > 1) { result[1] = components[1]; } return(result); }
public Money(decimal amount, string currencyCode, string currencySymbol, CurrencySymbolPosition currencySymbolPosition) : this(amount, new Currency(currencyCode, currencySymbol, currencySymbolPosition)) { }