public UpdateApplicationCommandValidator(ISubValidator <ICreateApplication> createApplicationValidator,
                                                 ISubValidator <IUpdateApplication> updateApplicationValidator,
                                                 IApplicationBusinessRules businessRules)
        {
            RuleFor(i => i.Application).CompliesWithSubValidator(createApplicationValidator);
            RuleFor(i => i.Application).CompliesWithSubValidator(updateApplicationValidator);


            RuleFor(i => i.Application.Id).Must(businessRules.Exists)
            .WithErrorMessage(nameof(Notifications.ApplicationWithIdDoesNotExists));

            RuleFor(i => i.Application).Must(businessRules.HaveAUniqueCode)
            .WithErrorMessage(nameof(Notifications.DuplicateApplicationCode));
        }
 public DeleteApplicationCommandValidator(IApplicationBusinessRules businessRules)
 {
     RuleFor(i => i.Id).Must(businessRules.NotBeLinkedToAnyAccessRight).WithErrorMessage(nameof(Notifications.ApplicationHasReferencedData));
 }