| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using Quadarax.Application.QLiberace.Base.Repositories;
- using Quadarax.Application.QLiberace.Customer.Enums;
- using Quadarax.Foundation.Core.Value;
- using Quadarax.Foundation.Core.Value.Extensions;
- namespace Quadarax.Application.QLiberace.Customer.Dtos.Validators
- {
- public class ContactValidator : Validator<ContactWDto>
- {
- protected override void OnValidate(ContactWDto validatingObject, ValidatorContext context)
- {
-
-
- CheckIfEmpty("Address", validatingObject.Address, ValidationResult.ValidationSeverityEnum.Error);
- CheckIfStringMaxLengthOverflow("Address", validatingObject.Address, 100,
- ValidationResult.ValidationSeverityEnum.Error);
-
- CheckIfStringMaxLengthOverflow("Address1", validatingObject.Address1, 100,
- ValidationResult.ValidationSeverityEnum.Error);
- CheckIfEmpty("Caption", validatingObject.Caption, ValidationResult.ValidationSeverityEnum.Error);
- CheckIfStringMaxLengthOverflow("Caption", validatingObject.Caption, 100,
- ValidationResult.ValidationSeverityEnum.Error);
- if (validatingObject.Type == ContactTypeEnum.Address)
- {
- CheckIfEmpty("City", validatingObject.City, ValidationResult.ValidationSeverityEnum.Error);
- CheckIfStringMaxLengthOverflow("City", validatingObject.City, 50,
- ValidationResult.ValidationSeverityEnum.Error);
- CheckIfEmpty("Zip", validatingObject.Zip, ValidationResult.ValidationSeverityEnum.Error);
- CheckIfStringMaxLengthOverflow("Zip", validatingObject.Zip, 20,
- ValidationResult.ValidationSeverityEnum.Error);
- }
- if (validatingObject.Type.In(ContactTypeEnum.Address, ContactTypeEnum.Phone, ContactTypeEnum.Sms))
- {
- CheckIfEmpty("CountryCode", validatingObject.CountryCode, ValidationResult.ValidationSeverityEnum.Error);
- CheckIfStringMaxLengthOverflow("CountryCode", validatingObject.CountryCode, 100,
- ValidationResult.ValidationSeverityEnum.Error);
- if (!string.IsNullOrEmpty(validatingObject.CountryCode))
- {
- var rcurr = context.GetValue<RepoCountry>("RepoCountry");
- CheckIfNull("CountryCode", rcurr.GetByCode(validatingObject.CountryCode),
- ValidationResult.ValidationSeverityEnum.Error,
- $"Contact CountryCode not match country code '{validatingObject.CountryCode}' with enumeration");
- }
- }
- }
- }
- }
|