Пример #1
0
        public Currency(string symbol, CurrencySymbolPosition symbolPosition)
        {
            Contract.Requires(!String.IsNullOrWhiteSpace(symbol));

            Symbol         = symbol;
            SymbolPosition = symbolPosition;
        }
Пример #2
0
 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;
 }
Пример #3
0
        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;
        }
Пример #4
0
        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);
        }
Пример #5
0
    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);
    }
Пример #6
0
 public Money(decimal amount, string currencyCode, string currencySymbol, CurrencySymbolPosition currencySymbolPosition)
     : this(amount, new Currency(currencyCode, currencySymbol, currencySymbolPosition))
 {
 }