-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathLogonActionParameters.cs
More file actions
56 lines (47 loc) · 1.95 KB
/
LogonActionParameters.cs
File metadata and controls
56 lines (47 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using DevExpress.ExpressApp.DC;
using DevExpress.ExpressApp.Model;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.Validation;
using System.ComponentModel;
namespace Security.Extensions;
[DomainComponent]
public abstract class LogonActionParametersBase {
public const string ValidationContext = "CustomLogonActionsContext";
public const string EmailPattern = @"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$";
}
[DomainComponent]
[ModelDefault("Caption", "Register User")]
[ImageName("BO_User")]
public class RegisterUserParameters : LogonActionParametersBase {
[RuleRequiredField(null, ValidationContext)]
public string UserName { get; set; }
[RuleRequiredField(null, ValidationContext)]
[RuleRegularExpression(null, ValidationContext, EmailPattern)]
public string Email { get; set; }
[ModelDefault("IsPassword", "True")]
[RuleRequiredField(null, ValidationContext)]
public string Password { get; set; }
}
[DomainComponent]
[ModelDefault("Caption", "Restore Password")]
[ImageName("Action_ResetPassword")]
public class RestorePasswordParameters : LogonActionParametersBase {
[RuleRequiredField(null, ValidationContext)]
[RuleRegularExpression(null, ValidationContext, EmailPattern)]
public string Email { get; set; }
}
[DomainComponent]
[ModelDefault("Caption", "Set New Password")]
[ImageName("Action_ResetPassword")]
public class SetNewPasswordParameters : LogonActionParametersBase {
[ModelDefault("IsPassword", "True")]
[RuleRequiredField(null, ValidationContext)]
public string Password { get; set; }
[ModelDefault("IsPassword", "True")]
[RuleRequiredField(null, ValidationContext)]
[RuleValueComparison(null, ValidationContext, ValueComparisonType.Equals, nameof(Password),
ParametersMode.Expression, CustomMessageTemplate = "Passwords are different.")]
public string ConfirmPassword { get; set; }
[Browsable(false)]
public string Token { get; set; }
}