Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Namespace Sitesource.Currency
- Public Class BTC
- Implements ICurrency
- Private Const Symbol As String = "฿"
- Private Const Code As String = "BTC"
- Private _value As Decimal
- ''' <summary>
- ''' New
- ''' </summary>
- ''' <param name="value"></param>
- ''' <remarks></remarks>
- Public Sub New(ByVal value As Decimal)
- _value = value
- End Sub
- ''' <summary>
- ''' Parse
- ''' </summary>
- ''' <param name="value"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Shared Function Parse(ByVal value As String) As BTC
- Return New BTC(Decimal.Parse(value))
- End Function
- ''' <summary>
- ''' Get currency code.
- ''' </summary>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Function GetCurrencyCode() As String Implements ICurrency.GetCurrencyCode
- Return Code
- End Function
- ''' <summary>
- ''' Get currency symbol.
- ''' </summary>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Function GetCurrencySymbol() As String Implements ICurrency.GetCurrencySymbol
- Return Symbol
- End Function
- ''' <summary>
- ''' ToString
- ''' </summary>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Overrides Function ToString() As String
- Return _value.ToString()
- End Function
- ''' <summary>
- ''' Equals
- ''' </summary>
- ''' <param name="obj"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Overrides Function Equals(ByVal obj As Object) As Boolean
- If TypeOf obj Is BTC Then
- Return _value = CType(obj.Value, BTC).Value
- ElseIf TypeOf obj Is DBNull Then
- Return False
- Else
- Return _value = obj
- End If
- End Function
- ''' <summary>
- ''' Return a culture invariant string representation of the value
- ''' </summary>
- ''' <value></value>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public ReadOnly Property InvariantString As String Implements ICurrency.InvariantString
- Get
- Return _value.ToString(Globalization.CultureInfo.InvariantCulture)
- End Get
- End Property
- ''' <summary>
- ''' Value
- ''' </summary>
- ''' <value></value>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Property Value As Decimal Implements ICurrency.Value
- Set(ByVal value As Decimal)
- _value = value
- End Set
- Get
- Return _value
- End Get
- End Property
- Public Shared Operator -(ByVal a As BTC, ByVal b As BTC) As BTC
- Return New BTC(a.Value - b.Value)
- End Operator
- Public Shared Operator +(ByVal a As BTC, ByVal b As BTC) As BTC
- Return New BTC(a.Value + b.Value)
- End Operator
- Public Shared Operator <(ByVal a As BTC, ByVal b As BTC) As Boolean
- Return a.Value < b.Value
- End Operator
- Public Shared Operator >(ByVal a As BTC, ByVal b As BTC) As Boolean
- Return a.Value > b.Value
- End Operator
- Public Shared Operator <=(ByVal a As BTC, ByVal b As BTC) As Boolean
- Return a.Value <= b.Value
- End Operator
- Public Shared Operator >=(ByVal a As BTC, ByVal b As BTC) As Boolean
- Return a.Value >= b.Value
- End Operator
- Public Shared Operator =(ByVal a As BTC, ByVal b As BTC) As Boolean
- If a Is Nothing OrElse b Is Nothing Then Return False
- If a Is Nothing And b Is Nothing Then Return True
- Return a.Value = b.Value
- End Operator
- Public Shared Operator <>(ByVal a As BTC, ByVal b As BTC) As Boolean
- If a Is Nothing OrElse b Is Nothing Then Return False
- If a Is Nothing And b Is Nothing Then Return True
- Return a.Value <> b.Value
- End Operator
- Public Shared Widening Operator CType(ByVal a As BTC) As String
- Return a.Value.ToString()
- End Operator
- Public Shared Widening Operator CType(ByVal a As BTC) As Decimal
- Return a.Value
- End Operator
- Public Shared Operator /(ByVal a As BTC, ByVal b As Int32) As BTC
- Return New BTC(a.Value / 2)
- End Operator
- End Class
- End Namespace
Advertisement
Add Comment
Please, Sign In to add comment