예제 #1
0
 public GenericCommandResult Register(
     [FromBody] CriarContaCommand command,
     [FromServices] CriarContaCommandHandler handler
     )
 {
     //command.User = User.Claims.FirstOrDefault(x => x.Type == "user_id")?.Value;
     return((GenericCommandResult)handler.Handle(command));
 }
예제 #2
0
        public void DeveRetornarErroSeDadosInvalidos()
        {
            var command = new CriarContaCommand();

            command.Validar();

            Assert.True(command.Invalid, "Os dados estão preenchidos corretamente");
        }
예제 #3
0
        public void DeveRetornarSucessoSeDadosValidosConstrutor()
        {
            var command = new CriarContaCommand("Fernando",
                                                "*****@*****.**",
                                                "1234567", "",
                                                Comum.Enum.EnTipoUsuario.Comum
                                                );

            command.Validar();

            Assert.True(command.Valid, "Os dados estão preenchidos corretamente");
        }
예제 #4
0
        public async Task <IActionResult> CriarConta([FromBody] CriarContaCommand command)
        {
            try
            {
                var categoria = await mediator.Send(command);

                return(CreatedAtAction("CriarConta", new { Categoria = categoria }, categoria));
            }
            catch (FinancasException ex) when(ex.StatusCode == HttpStatusCode.BadRequest)
            {
                return(BadRequest(notificador.ObterMensagens()));
            }
        }
        public void DeveRetornarErroSeDadosHandlerValidos()
        {
            //Criar um command
            var command = new CriarContaCommand("KauaDeja da Silva", "*****@*****.**", "12345678", "", EnTipoUsuario.Admin);

            //Criar um handle
            var handle = new CriarContaHandle(new FakeUsuarioRepositorio()); // Criar um Fake Repositorie
                                                                             // Ou podemos usar o mock
                                                                             //Pega o resultado
            var resultado = (GenericCommandResult)handle.Handle(command);

            //Valida a condição
            Assert.False(resultado.Sucesso, "O usuario é inválido");
        }
예제 #6
0
        public void DeveRetornarSucessoSeDadosValidos()
        {
            var command = new CriarContaCommand()
            {
                Nome        = "Fernando",
                Email       = "*****@*****.**",
                Senha       = "1234567",
                TipoUsuario = Comum.Enum.EnTipoUsuario.Comum
            };

            //command.Nome = "Fernando";

            command.Validar();

            Assert.True(command.Valid, "Os dados estão preenchidos corretamente");
        }
예제 #7
0
        public Result CriarConta(CriarContaCommand command)
        {
            try
            {
                var result = command.Validate();

                if (result.IsFailure)
                {
                    return(result);
                }

                _repository.AdicionarConta(result.Value);

                return(Result.Ok());
            }
            catch (Exception ex)
            {
                return(Result.Fail("Falha ao criar conta"));
            }
        }
 // Aqui nós passamos como parametro os Command e Handler
 public GenericCommandResult Signup(CriarContaCommand command,
                                    // Definimos que o CriarContaHanlde é um serviço
                                    [FromServices] CriarContaHandle handler)
 {
     return((GenericCommandResult)handler.Handle(command));
 }
        public ActionResult Post([FromBody] CriarContaCommand command)
        {
            var response = _service.CriarConta(command);

            return(Result(response));
        }