示例#1
0
        private async Task <ResponseMessage> RegisterCandidate(RegisteredUserIntegrationEvent message)
        {
            var candidateCommand     = new RegisterCandidateCommand(message.Id, message.CPF, message.FirstName, message.LastName, message.Email, message.BirthDate, message.Gender);
            ValidationResult success = null;

            using (var scope = _serviceProvider.CreateScope())
            {
                var mediator = scope.ServiceProvider.GetRequiredService <IMediatorHandler>();
                success = await mediator.SendCommand(candidateCommand);
            }

            return(new ResponseMessage(success));
        }
        public async Task <IActionResult> Register(CandidateRegisterModel model)
        {
            if (ModelState.IsValid)
            {
                var cmd    = new RegisterCandidateCommand(model.FirstName, model.LastName, model.Birthday, model.CurrentPosition, model.Note);
                var result = await _mediator.Send(cmd);

                if (result.IsFailure)
                {
                    ModelState.AddModelError("", result.Error);
                }
                else
                {
                    return(RedirectToAction(nameof(CandidateController.Index)));
                }
            }

            return(View(model));
        }