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(Client client) { if (!client.IsValid()) { return("Invalid Data"); } var repo = new ClientRepository(); repo.AddClient(client); EmailServices.Enviar("*****@*****.**", client.Email, "Welcome!", "Congratulations, you successfully joined in our platform!"); return("Client successfully registered"); }
public string AdicionarUsuario(Usuario usuario) { if (!usuario.IsValid()) { return("Dados inválidos"); } var repo = new UsuarioRepository(); repo.AdicionarUsuario(usuario); EmailServices.Enviar("*****@*****.**", usuario.Email, "Bem Vindo", "Parabéns está Cadastrado"); return("Usuário 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 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."); }
//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"); }