-
Notifications
You must be signed in to change notification settings - Fork 49
Expand file tree
/
Copy pathAddNewAuditInstanceViewModelValidator.cs
More file actions
70 lines (60 loc) · 3.18 KB
/
AddNewAuditInstanceViewModelValidator.cs
File metadata and controls
70 lines (60 loc) · 3.18 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
namespace ServiceControl.Config.UI.Upgrades
{
using FluentValidation;
using Validation;
using Validations = Extensions.Validations;
public class AddNewAuditInstanceViewModelValidator : AbstractValidator<AddNewAuditInstanceViewModel>
{
public AddNewAuditInstanceViewModelValidator()
{
RuleFor(x => x.ServiceControlAudit.InstanceName)
.NotEmpty()
.When(x => x.SubmitAttempted);
RuleFor(x => x.ServiceControlAudit.ServiceAccount)
.NotEmpty()
.When(x => x.SubmitAttempted);
RuleFor(x => x.ServiceControlAudit.PortNumber)
.NotEmpty()
.ValidPort()
.PortAvailable()
.MustNotBeIn(x => Validations.UsedPorts(x.ServiceControlAudit.InstanceName))
.NotEqual(x => x.ServiceControlAudit.DatabaseMaintenancePortNumber)
.WithMessage(string.Format(Validation.Validations.MSG_MUST_BE_UNIQUE, "Ports"))
.When(x => x.SubmitAttempted);
RuleFor(x => x.ServiceControlAudit.DatabaseMaintenancePortNumber)
.NotEmpty()
.ValidPort()
.PortAvailable()
.MustNotBeIn(x => Validations.UsedPorts(x.ServiceControlAudit.InstanceName))
.NotEqual(x => x.ServiceControlAudit.PortNumber)
.WithMessage(string.Format(Validation.Validations.MSG_MUST_BE_UNIQUE, "Ports"))
.When(x => x.SubmitAttempted);
RuleFor(x => x.ServiceControlAudit.DestinationPath)
.NotEmpty()
.ValidPath()
.MustNotBeIn(x => Validations.UsedPaths(x.ServiceControlAudit.InstanceName))
.WithMessage(string.Format(Validation.Validations.MSG_MUST_BE_UNIQUE, "Paths"))
.When(x => x.SubmitAttempted);
RuleFor(x => x.ServiceControlAudit.DatabasePath)
.NotEmpty()
.ValidPath()
.MustNotBeIn(x => Validations.UsedPaths(x.ServiceControlAudit.InstanceName))
.WithMessage(string.Format(Validation.Validations.MSG_MUST_BE_UNIQUE, "Paths"))
.When(x => x.SubmitAttempted);
RuleFor(x => x.ServiceControlAudit.AuditForwarding)
.NotNull().WithMessage(Validation.Validations.MSG_SELECTAUDITFORWARDING);
RuleFor(x => x.ServiceControlAudit.AuditQueueName)
.NotEmpty()
.NotEqual(x => x.ServiceControlAudit.AuditForwardingQueueName).WithMessage(string.Format(Validation.Validations.MSG_UNIQUEQUEUENAME, "Audit Forwarding"))
.When(x => x.SubmitAttempted);
RuleFor(x => x.ServiceControlAudit.AuditForwardingQueueName)
.NotEmpty()
.NotEqual(x => x.ServiceControlAudit.AuditQueueName).WithMessage(string.Format(Validation.Validations.MSG_UNIQUEQUEUENAME, "Audit"))
.When(x => x.SubmitAttempted && (x.ServiceControlAudit.AuditForwarding?.Value ?? false));
RuleFor(x => x.ServiceControlAudit.HostName)
.NotEmpty()
.ValidHostname()
.When(x => x.SubmitAttempted);
}
}
}