Exemple #1
0
        public async Task <UpdateJokeResponse> Handle(UpdateJokeRequest request, CancellationToken cancellationToken)
        {
            var joke = _mapper.Map <Joke>(request);

            var validator = new JokeValidator();

            validator.Validate(joke);

            if (validator.Errors.Count > 0)
            {
                throw new Exception(validator.Errors.FirstOrDefault());
            }

            var jokeExists = await _jokeRepository.Get(joke.Id);

            if (jokeExists == null)
            {
                throw new Exception("A piada informada não existe.");
            }

            var jokeCreated = await _jokeRepository.Update(joke);

            return(new UpdateJokeResponse
            {
                Id = jokeCreated.Id,
                Text = jokeCreated.Text,
                Response = jokeCreated.Response
            });
        }
        private void Validate(Joke joke)
        {
            var results = new JokeValidator().Validate(joke);

            if (!results.IsValid)
            {
                throw new Exception($"The following errors have occurred: {string.Join(", ", results.Errors)}");
            }
        }
Exemple #3
0
        public async Task <CreateJokeResponse> Handle(CreateJokeRequest request, CancellationToken cancellationToken)
        {
            var joke = _mapper.Map <Joke>(request);

            var validator = new JokeValidator();

            validator.Validate(joke);

            if (validator.Errors.Count > 0)
            {
                throw new Exception(validator.Errors.FirstOrDefault());
            }

            var jokeCreated = await _jokeRepository.Create(joke);

            return(new CreateJokeResponse
            {
                Id = jokeCreated.Id,
                Text = jokeCreated.Text,
                Response = jokeCreated.Response
            });
        }