Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 4.69 KB | None | 0 0
  1. Imports Symmex.Snowflake.Core
  2.  
  3. <Serializable()>
  4. Public Class User
  5.     Inherits Entity
  6.  
  7. #Region "Properties"
  8.     <DataField()>
  9.     Private _Username As String
  10.     Public Property Username As String
  11.         Get
  12.             Return _Username
  13.         End Get
  14.         Set(ByVal value As String)
  15.             _Username = value
  16.             Me.OnPropertyChanged("Username")
  17.         End Set
  18.     End Property
  19.  
  20.     <DataField()>
  21.     Private _FirstName As String
  22.     Public Property FirstName As String
  23.         Get
  24.             Return _FirstName
  25.         End Get
  26.         Set(ByVal value As String)
  27.             _FirstName = NameFormatter.FormatName(value)
  28.             Me.OnPropertyChanged("FirstName")
  29.         End Set
  30.     End Property
  31.  
  32.     <DataField()>
  33.     Private _LastName As String
  34.     Public Property LastName As String
  35.         Get
  36.             Return _LastName
  37.         End Get
  38.         Set(ByVal value As String)
  39.             _LastName = NameFormatter.FormatName(value)
  40.             Me.OnPropertyChanged("LastName")
  41.         End Set
  42.     End Property
  43.  
  44.     <DataField()>
  45.     Private _Email As String
  46.     Public Property Email As String
  47.         Get
  48.             Return _Email
  49.         End Get
  50.         Set(ByVal value As String)
  51.             _Email = value
  52.             Me.OnPropertyChanged("Email")
  53.         End Set
  54.     End Property
  55.  
  56.     <DataField(IsMapped:=False)>
  57.     Private _Password As String
  58.     Public Property Password As String
  59.         Get
  60.             Return _Password
  61.         End Get
  62.         Set(ByVal value As String)
  63.             _Password = value
  64.             Me.OnPropertyChanged("Password")
  65.         End Set
  66.     End Property
  67.  
  68.     <DataField(IsMapped:=False)>
  69.     Private _ConfirmPassword As String
  70.     Public Property ConfirmPassword As String
  71.         Get
  72.             Return _ConfirmPassword
  73.         End Get
  74.         Set(ByVal value As String)
  75.             _ConfirmPassword = value
  76.             Me.OnPropertyChanged("ConfirmPassword")
  77.         End Set
  78.     End Property
  79. #End Region
  80.  
  81. #Region "Constructors"
  82.     Public Sub New()
  83.         MyBase.New()
  84.  
  85.         _Username = String.Empty
  86.         _FirstName = String.Empty
  87.         _LastName = String.Empty
  88.         _Email = String.Empty
  89.         _Password = String.Empty
  90.         _ConfirmPassword = String.Empty
  91.     End Sub
  92.  
  93.     Public Sub New(ByVal data As IDataRecord)
  94.         MyBase.New(data)
  95.     End Sub
  96. #End Region
  97.  
  98. #Region "Validation"
  99.     <ValidateMethod(PropertyName:="Username")>
  100.     Private Sub ValidateUsername(ByVal result As ValidationResult)
  101.         If String.IsNullOrEmpty(_Username) Then
  102.             result.Errors.Add(New ValidationError("Username is required.", "Username"))
  103.         End If
  104.  
  105.         If _Username IsNot Nothing AndAlso _Username.Length > 50 Then
  106.             result.Errors.Add(New ValidationError("Username cannot exceed 50 characters.", "Username"))
  107.         End If
  108.     End Sub
  109.  
  110.     <ValidateMethod(PropertyName:="FirstName")>
  111.     Private Sub ValidateFirstName(ByVal result As ValidationResult)
  112.         If _FirstName IsNot Nothing AndAlso _FirstName.Length > 50 Then
  113.             result.Errors.Add(New ValidationError("FirstName cannot exceed 50 characters.", "FirstName"))
  114.         End If
  115.     End Sub
  116.  
  117.     <ValidateMethod(PropertyName:="LastName")>
  118.     Private Sub ValidateLastName(ByVal result As ValidationResult)
  119.         If _LastName IsNot Nothing AndAlso _LastName.Length > 50 Then
  120.             result.Errors.Add(New ValidationError("LastName cannot exceed 50 characters.", "LastName"))
  121.         End If
  122.     End Sub
  123.  
  124.     <ValidateMethod(PropertyName:="Email")>
  125.     Private Sub ValidateEmail(ByVal result As ValidationResult)
  126.         If _Email IsNot Nothing AndAlso _Email.Length > 250 Then
  127.             result.Errors.Add(New ValidationError("Email cannot exceed 250 characters.", "Email"))
  128.         End If
  129.     End Sub
  130.  
  131.     <ValidateMethod(PropertyName:="Password")>
  132.     Private Sub ValidatePassword(ByVal result As ValidationResult)
  133.         If Me.IsNew AndAlso String.IsNullOrEmpty(_Password) Then
  134.             result.Errors.Add(New ValidationError("Password is required.", "Password"))
  135.         End If
  136.     End Sub
  137.  
  138.     <ValidateMethod(PropertyName:="ConfirmPassword")>
  139.     Private Sub ValidateConfirmPassword(ByVal result As ValidationResult)
  140.         If Me.IsNew AndAlso Not String.IsNullOrEmpty(_Password) Then
  141.             If String.IsNullOrEmpty(_ConfirmPassword) Then
  142.                 result.Errors.Add(New ValidationError("Password must be confirmed.", "ConfirmPassword"))
  143.             ElseIf _ConfirmPassword <> _Password Then
  144.                 result.Errors.Add(New ValidationError("Passwords do not match.", "ConfirmPassword"))
  145.             End If
  146.         End If
  147.     End Sub
  148. #End Region
  149.  
  150. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement