deebug

USD.btc

Jul 12th, 2011
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Namespace Sitesource.Currency
  2.     Public Structure USD
  3.         Implements ICurrency
  4.         Public Const Symbol As String = "$"
  5.         Public Const Code As String = "USD"
  6.         ''' <summary>
  7.        ''' New
  8.        ''' </summary>
  9.        ''' <param name="value"></param>
  10.        ''' <remarks></remarks>
  11.        Public Sub New(ByVal value As Decimal)
  12.             _value = value
  13.         End Sub
  14.         ''' <summary>
  15.        ''' Parse
  16.        ''' </summary>
  17.        ''' <param name="value"></param>
  18.        ''' <returns></returns>
  19.        ''' <remarks></remarks>
  20.        Public Shared Function Parse(ByVal value As String) As USD
  21.             Return New USD(Decimal.Parse(value))
  22.         End Function
  23.         ''' <summary>
  24.        ''' Get currency code.
  25.        ''' </summary>
  26.        ''' <returns></returns>
  27.        ''' <remarks></remarks>
  28.        Public Function GetCurrencyCode() As String Implements ICurrency.GetCurrencyCode
  29.             Return Code
  30.         End Function
  31.         ''' <summary>
  32.        ''' Get currency symbol.
  33.        ''' </summary>
  34.        ''' <returns></returns>
  35.        ''' <remarks></remarks>
  36.        Public Function GetCurrencySymbol() As String Implements ICurrency.GetCurrencySymbol
  37.             Return Symbol
  38.         End Function
  39.         ''' <summary>
  40.        ''' ToString
  41.        ''' </summary>
  42.        ''' <returns></returns>
  43.        ''' <remarks></remarks>
  44.        Overrides Function ToString() As String
  45.             Return _value.ToString()
  46.         End Function
  47.         ''' <summary>
  48.        ''' Equals
  49.        ''' </summary>
  50.        ''' <param name="obj"></param>
  51.        ''' <returns></returns>
  52.        ''' <remarks></remarks>
  53.        Public Overrides Function Equals(ByVal obj As Object) As Boolean
  54.             If TypeOf obj Is USD Then
  55.                 Return _value = CType(obj.Value, USD).Value
  56.             ElseIf TypeOf obj Is DBNull Then
  57.                 Return False
  58.             Else
  59.                 Return _value = obj
  60.             End If
  61.         End Function
  62.         ''' <summary>
  63.        ''' Return a culture invariant string representation of the value
  64.        ''' </summary>
  65.        ''' <value></value>
  66.        ''' <returns></returns>
  67.        ''' <remarks></remarks>
  68.        Public ReadOnly Property InvariantString As String Implements ICurrency.InvariantString
  69.             Get
  70.                 Return Value.ToString(Globalization.CultureInfo.InvariantCulture)
  71.             End Get
  72.         End Property
  73.         ''' <summary>
  74.        ''' Value
  75.        ''' </summary>
  76.        ''' <value></value>
  77.        ''' <returns></returns>
  78.        ''' <remarks></remarks>
  79.        Public Property Value As Decimal Implements ICurrency.Value
  80.         Public Shared Operator -(ByVal a As USD, ByVal b As USD) As USD
  81.             Return New USD(a.Value - b.Value)
  82.         End Operator
  83.         Public Shared Operator +(ByVal a As USD, ByVal b As USD) As USD
  84.             Return New USD(a.Value + b.Value)
  85.         End Operator
  86.         Public Shared Operator <(ByVal a As USD, ByVal b As USD) As Boolean
  87.             Return a.Value < b.Value
  88.         End Operator
  89.         Public Shared Operator >(ByVal a As USD, ByVal b As USD) As Boolean
  90.             Return a.Value > b.Value
  91.         End Operator
  92.         Public Shared Operator <=(ByVal a As USD, ByVal b As USD) As Boolean
  93.             Return a.Value <= b.Value
  94.         End Operator
  95.         Public Shared Operator >=(ByVal a As USD, ByVal b As USD) As Boolean
  96.             Return a.Value >= b.Value
  97.         End Operator
  98.         Public Shared Operator =(ByVal a As USD, ByVal b As USD) As Boolean
  99.             Return a.Value = b.Value
  100.         End Operator
  101.         Public Shared Operator <>(ByVal a As USD, ByVal b As USD) As Boolean
  102.             Return a.Value <> b.Value
  103.         End Operator
  104.         Public Shared Widening Operator CType(ByVal a As USD) As String
  105.             Return a.Value.ToString()
  106.         End Operator
  107.         Public Shared Widening Operator CType(ByVal a As USD) As Decimal
  108.             Return a.Value
  109.         End Operator
  110.         Public Shared Operator /(ByVal a As USD, ByVal b As USD) As USD
  111.             Return New USD(a.Value / b.Value)
  112.         End Operator
  113.         Public Shared Operator /(ByVal a As USD, ByVal b As Int32) As USD
  114.             Return New USD(a.Value / b)
  115.         End Operator
  116.     End Structure
  117. End Namespace
Advertisement
Add Comment
Please, Sign In to add comment