public GetDeveloperStudioByIdQueryHandler(
     ILogger <GetDeveloperStudioByIdQuery> logger,
     IDeveloperStudioService developerStudioService)
     : base(logger)
 {
     _developerStudioService = developerStudioService;
 }
        public AddGameValidator(IGenreService genreService, IDeveloperStudioService developerStudioService, IPublisherService publisherService)
        {
            RuleFor(p => p.DeveloperStudioId)
            .GreaterThan(0)
            .MustAsync(async(d, developerStudioId, token) =>
                       await developerStudioService.IsExistAsync(developerStudioId, token))
            .WithMessage(t => $"Developer studio with Id {t.DeveloperStudioId} doesn't exist");

            RuleFor(p => p.GenreId)
            .GreaterThan(0)
            .MustAsync(async(g, genreId, token) =>
                       await genreService.IsExistAsync(genreId, token))
            .WithMessage(t => $"Genre with Id {t.GenreId} doesn't exist");

            RuleFor(p => p.PublisherId)
            .GreaterThan(0)
            .MustAsync(async(p, publisherId, token) =>
                       await publisherService.IsExistAsync(publisherId, token))
            .WithMessage(t => $"Publisher with Id {t.PublisherId} doesn't exist");

            RuleFor(p => p.GameDetails)
            .NotNull()
            .SetValidator(new GameDetailsValidator());

            RuleForEach(p => p.Attachments)
            .SetValidator(new GameAttachmentValidator());
        }
 public CreateDeveloperStudioCommandHandler(
     IValidator <CreateDeveloperStudioCommand> validator,
     ILogger <CreateDeveloperStudioCommand> logger,
     IMapper mapper,
     IDeveloperStudioService developerStudioService)
     : base(validator, logger)
 {
     _mapper = mapper;
     _developerStudioService = developerStudioService;
 }