Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports Symmex.Snowflake.Core
- <Serializable()>
- Public Class User
- Inherits Entity
- #Region "Properties"
- <DataField()>
- Private _Username As String
- Public Property Username As String
- Get
- Return _Username
- End Get
- Set(ByVal value As String)
- _Username = value
- Me.OnPropertyChanged("Username")
- End Set
- End Property
- <DataField()>
- Private _FirstName As String
- Public Property FirstName As String
- Get
- Return _FirstName
- End Get
- Set(ByVal value As String)
- _FirstName = NameFormatter.FormatName(value)
- Me.OnPropertyChanged("FirstName")
- End Set
- End Property
- <DataField()>
- Private _LastName As String
- Public Property LastName As String
- Get
- Return _LastName
- End Get
- Set(ByVal value As String)
- _LastName = NameFormatter.FormatName(value)
- Me.OnPropertyChanged("LastName")
- End Set
- End Property
- <DataField()>
- Private _Email As String
- Public Property Email As String
- Get
- Return _Email
- End Get
- Set(ByVal value As String)
- _Email = value
- Me.OnPropertyChanged("Email")
- End Set
- End Property
- <DataField(IsMapped:=False)>
- Private _Password As String
- Public Property Password As String
- Get
- Return _Password
- End Get
- Set(ByVal value As String)
- _Password = value
- Me.OnPropertyChanged("Password")
- End Set
- End Property
- <DataField(IsMapped:=False)>
- Private _ConfirmPassword As String
- Public Property ConfirmPassword As String
- Get
- Return _ConfirmPassword
- End Get
- Set(ByVal value As String)
- _ConfirmPassword = value
- Me.OnPropertyChanged("ConfirmPassword")
- End Set
- End Property
- #End Region
- #Region "Constructors"
- Public Sub New()
- MyBase.New()
- _Username = String.Empty
- _FirstName = String.Empty
- _LastName = String.Empty
- _Email = String.Empty
- _Password = String.Empty
- _ConfirmPassword = String.Empty
- End Sub
- Public Sub New(ByVal data As IDataRecord)
- MyBase.New(data)
- End Sub
- #End Region
- #Region "Validation"
- <ValidateMethod(PropertyName:="Username")>
- Private Sub ValidateUsername(ByVal result As ValidationResult)
- If String.IsNullOrEmpty(_Username) Then
- result.Errors.Add(New ValidationError("Username is required.", "Username"))
- End If
- If _Username IsNot Nothing AndAlso _Username.Length > 50 Then
- result.Errors.Add(New ValidationError("Username cannot exceed 50 characters.", "Username"))
- End If
- End Sub
- <ValidateMethod(PropertyName:="FirstName")>
- Private Sub ValidateFirstName(ByVal result As ValidationResult)
- If _FirstName IsNot Nothing AndAlso _FirstName.Length > 50 Then
- result.Errors.Add(New ValidationError("FirstName cannot exceed 50 characters.", "FirstName"))
- End If
- End Sub
- <ValidateMethod(PropertyName:="LastName")>
- Private Sub ValidateLastName(ByVal result As ValidationResult)
- If _LastName IsNot Nothing AndAlso _LastName.Length > 50 Then
- result.Errors.Add(New ValidationError("LastName cannot exceed 50 characters.", "LastName"))
- End If
- End Sub
- <ValidateMethod(PropertyName:="Email")>
- Private Sub ValidateEmail(ByVal result As ValidationResult)
- If _Email IsNot Nothing AndAlso _Email.Length > 250 Then
- result.Errors.Add(New ValidationError("Email cannot exceed 250 characters.", "Email"))
- End If
- End Sub
- <ValidateMethod(PropertyName:="Password")>
- Private Sub ValidatePassword(ByVal result As ValidationResult)
- If Me.IsNew AndAlso String.IsNullOrEmpty(_Password) Then
- result.Errors.Add(New ValidationError("Password is required.", "Password"))
- End If
- End Sub
- <ValidateMethod(PropertyName:="ConfirmPassword")>
- Private Sub ValidateConfirmPassword(ByVal result As ValidationResult)
- If Me.IsNew AndAlso Not String.IsNullOrEmpty(_Password) Then
- If String.IsNullOrEmpty(_ConfirmPassword) Then
- result.Errors.Add(New ValidationError("Password must be confirmed.", "ConfirmPassword"))
- ElseIf _ConfirmPassword <> _Password Then
- result.Errors.Add(New ValidationError("Passwords do not match.", "ConfirmPassword"))
- End If
- End If
- End Sub
- #End Region
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement