Notes
ClienteService(namespace DS.SysWeb.Dominio.Services )
Content of the notes (1)
Page 1
using System; //A Camada De Dominio Não Vê Ninguém! Ela só enxerga a ela Mesma.Eu Vou Ter Que Trabalhar Com Base Nas Interfaces, E
using DS.SysWeb.Dominio.Interfaces; // é Por Esse Motivo que as Interfaces estão Na Camada de Dominio
using DS.SysWeb.Dominio.Models;
namespace DS.SysWeb.Dominio.Services
{
public class ClienteService : IClienteService
{
private readonly IClienteRepository _clienteRepository;
//DIP:Principio Da Inversao De Controle
public ClienteService(IClienteRepository clienteRepository)
{
_clienteRepository = clienteRepository; ////Eu Estou Querendo Dizer Que Eu Só Vou Receber a Instância de Uma Classe Que Implemente a Interface clienteRepository
}
public Cliente Adicionar(Cliente cliente)
{
if (!cliente.EhValido())
return cliente;
// se ele tem email ou cpf ja existente na base
// se ele tem idade para ser cliente
// add ele no banco
return _clienteRepository.Adicionar(cliente); //Porque Eu Dou Um Return do _ClienteRepository? Porque O Método Adicionar Retorna Um Cliente
}
public Cliente Atualizar(Cliente cliente)
{
if (!cliente.EhValido())
return cliente;
return _clienteRepository.Atualizar(cliente);
}
public void Remover(Guid id)
{
// tem alguma regra antes de excluir? Por Ex: Tem Um Compra Em Aberto.Qualquer Coisa Que Precise Validar
_clienteRepository.Remover(id);
}
public void Dispose()
{
_clienteRepository.Dispose();//To Destruindo o Repository
}
}
}
//O Que é Injeção De Dependência? è você injetar Via COnstrutor Um Objeto Já Instanciado Para Que A Classe Mesmo Se Conheçer Consiga Manipular o Objeto
Information
- Description
- Note on ClienteService(namespace DS.SysWeb.Dominio.Services ), created by Lauro Vinicius on 04/04/2018.
- Created by
- Lauro Vinicius · Apr 2018
- Updated
- Apr 6, 2018
- Views
- 0
- Rating