public CreateRoleLocalizationCommand(
     IAccessValidator accessValidator,
     IResponseCreator responseCreator,
     IRoleLocalizationRepository roleLocalizationRepository,
     IDbRoleLocalizationMapper roleLocalizationMapper,
     ICreateRoleLocalizationRequestValidator requestValidator,
     IHttpContextAccessor httpContextAccessor)
 {
     _accessValidator            = accessValidator;
     _responseCreator            = responseCreator;
     _roleLocalizationRepository = roleLocalizationRepository;
     _roleLocalizationMapper     = roleLocalizationMapper;
     _requestValidator           = requestValidator;
     _httpContextAccessor        = httpContextAccessor;
 }
        public CreateRoleRequestValidator(
            IRightsIdsValidator rightsIdsValidator,
            ICreateRoleLocalizationRequestValidator localizationRequestValidator)
        {
            RuleFor(x => x.Localizations)
            .Cascade(CascadeMode.Stop)
            .NotNull().WithMessage("Localizations can't be empty.")
            .Must(x => x.Any()).WithMessage("Localizations can't be empty.")
            .Must(x => !x.GroupBy(rl => rl.Locale).Any(group => group.Count() > 1))
            .WithMessage("Role must have only one localization per locale.");

            RuleForEach(x => x.Localizations)
            .SetValidator(localizationRequestValidator);

            RuleFor(x => x.Rights)
            .NotEmpty()
            .SetValidator(rightsIdsValidator);
        }