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)); }
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"; }
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!"); } }
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"); }
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"); }
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!"); }
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."); }
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"); }
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!"); }
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."); }
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"); }
//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"); }