public static AmountViewModel Parse(string amountStr)
        {
            var splittedAmount         = amountStr.Split(' ');
            CurrencyViewModel currency = splittedAmount[0];
            decimal           value    = decimal.Parse(splittedAmount[1]);

            return(new AmountViewModel(currency, value));
        }
        public AmountViewModel(string currency, decimal value)
        {
            if (value < AmountViewModel.MinValue.Value)
            {
                throw new ArgumentOutOfRangeException("value", "Value cannot be less then Amount.MinValue (absolute zero)");
            }

            if (value > AmountViewModel.MaxValue.Value)
            {
                throw new ArgumentOutOfRangeException("value", "Value cannot be more then Amount.MaxValue");
            }

            Currency = new CurrencyViewModel(currency);
            Value    = value;
        }
 public static AmountViewModel NewAmount(CurrencyViewModel currency, decimal value)
 {
     return(new AmountViewModel(currency, value));
 }