예제 #1
0
        public IActionResult Post([FromBody] EntradaCliente entradaCliente)
        {
            if (!ModelState.IsValid)
            {
                var retorno = new RetornoCliente()
                {
                    Sucesso    = false,
                    ListaErros = RetornarEntradaComErro(ModelState)
                };

                return(StatusCode(StatusCodes.Status406NotAcceptable, retorno));
            }

            var clienteModel      = entradaCliente.ToModel();
            var clienteAdicionado = _clienteRepository.AdicionarCliente(clienteModel);

            if (clienteAdicionado == null)
            {
                return(StatusCode(StatusCodes.Status406NotAcceptable));
            }

            var retornoCliente = new RetornoCliente()
            {
                Sucesso  = true,
                Entidade = clienteAdicionado
            };

            return(StatusCode(StatusCodes.Status201Created, retornoCliente));
        }
예제 #2
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.IsValid())
                return "Dados inválidos";

            var repo = new ClienteRepository();
            repo.AdicionarCliente(cliente);

            EmailServices.Enviar("*****@*****.**", cliente.Email, "Bem Vindo", "Parabéns está Cadastrado");

            return "Cliente cadastrado com sucesso";
        }
예제 #3
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.IsValid())
            {
                return("Dados inválidos!");

                var repo = new ClienteRepository();
                repo.AdicionarCliente(cliente);

                EmailService.Enviar("*****@*****.**", cliente.Email, "Bem vindo", "Cliente cadastrado com sucesso!");
                return("Cliente cadastrado com sucesso!");
            }
        }
예제 #4
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.Validar())
            {
                return("Dados inválidos");
            }

            var repo = new ClienteRepository();

            repo.AdicionarCliente(cliente);

            EmailService.Enviar("*****@*****.**", cliente.Email.Endereco, "Bem vindo!", "Bem vindo!");
            return("Cliente cadastrado com sucesso");
        }
예제 #5
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.IsValid())
            {
                return("Dados inválidos");
            }

            var repo = new ClienteRepository();

            repo.AdicionarCliente(cliente);

            EmailServices.Enviar("*****@*****.**", cliente.Email, "Bem Vindo", "Parabéns está Cadastrado");

            return("Cliente cadastrado com sucesso");
        }
예제 #6
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.Validar())
            {
                return("Dados invalidos");
            }

            var repositorio = new ClienteRepository();

            repositorio.AdicionarCliente(cliente);

            EmailService.Enviar("*****@*****.**", cliente.Email.Endereco, "Bem vindo", "Parabéns! Você está cadastrado");

            return("Cliente cadastrado com sucesso!");
        }
예제 #7
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.Validar())
            {
                return("Dados do cliente inválidos");
            }

            var repo = new ClienteRepository();

            repo.AdicionarCliente(cliente);

            EmailServices.Enviar("*****@*****.**", cliente.Email.Endereco, "Bem vindo", "Bem vindo ao treinamento de SOLID do trapp");

            return("Cliente cadastrado com sucesso.");
        }
예제 #8
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.Validar())
            {
                return("Dados inválidos");
            }

            //ClienteService (Alto nível) não pode depender do ClienteRepository (Baixo nível)
            //ClienteService não precisa saber como instanciar ClienteRepository
            var repo = new ClienteRepository();

            repo.AdicionarCliente(cliente);

            EmailServices.Enviar("*****@*****.**", cliente.Email.Endereco, "Bem Vindo", "Parabéns está Cadastrado");

            return("Cliente cadastrado com sucesso");
        }
        public string AdicionarCliente(Cliente c)
        {
            if (!c.Validar())
            {
                return("Dados inválidos");
            }

            // Baixo nivel
            // Acoplamento
            var repo = new ClienteRepository();

            repo.AdicionarCliente(c);

            EmailService.Enviar("*****@*****.**", c.Email.Endereco, "Bem Vindo", "");

            return("Cliente cadastrado com sucesso");
        }
예제 #10
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.IsValid())
            {
                return("Dados Inválidos");
            }

            var repo = new ClienteRepository();

            repo.AdicionarCliente(cliente);

            var mail = new EmailServices();

            mail.Enviar("*****@*****.**", cliente.Email, "Bem Vindo", "Parabens! Voce está cadastrado!");


            return("Cliente cadastrado com sucesso!");
        }
예제 #11
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.Validar())
            {
                return("Dados do cliente inválidos");
            }

            // violação! dependendo da implementação concreta do repositório (baixo nível),
            // se a implementação mudar, a classe clienteService pode ter que mudar também, o que não é bom
            var repo = new ClienteRepository();

            repo.AdicionarCliente(cliente);

            // violação! dependendo da classe concreta do serviços de email (baixo nível),
            // se a implementação mudar, a classe clienteService pode ter que mudar também.
            EmailServices.Enviar("*****@*****.**", cliente.Email.Endereco, "Bem vindo", "Bem vindo ao treinamento de SOLID do trapp");

            return("Cliente cadastrado com sucesso.");
        }
예제 #12
0
        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.IsValid())
            {
                return("Dados Inválido");
            }

            var repo = new ClienteRepository();

            repo.AdicionarCliente(cliente);

            EmailService.Enviar(
                "*****@*****.**"
                , cliente.Email,
                "Bem-vindo",
                "Para teste"
                );

            return("Cliente cadastrado com sucesso");
        }
예제 #13
0
        //Essa violação é a solução do SRP, que não foi feito implementação da DIP
        //Como essa é a camada de serviço do program, onde se orquestrar os processos de cliente, é onde vamos utilizar
        //o exemplo da violação

        public string AdicionarCliente(Cliente cliente)
        {
            if (!cliente.IsValid())
            {
                return("Dados inválidos");
            }

            //Aqui estamos utilizando uma depedencia direta entre ClienteRepository e ClienteService.
            var repo = new ClienteRepository();

            repo.AdicionarCliente(cliente);

            //Se mudarmos a classe ClienteRepository, não irá compilar.
            //EX:
            //var repo = new ClienteRepository();
            //repo.AdicionarCliente(cliente);
            //
            //public class ClienteRepositoryMudado {...}

            EmailServices.Enviar("*****@*****.**", cliente.Email, "Bem Vindo", "Parabéns está Cadastrado");

            return("Cliente cadastrado com sucesso");
        }