예제 #1
0
        private static void BuscandoERemovendoCliente(IClienteDao clientDao, IEnderecoDao enderecoDao, Cliente clienteInserido)
        {
            var cliente = clientDao.Find(clienteInserido.Id);

            cliente.Enderecos = enderecoDao.Select(new Endereco()
            {
                IdCliente = cliente.Id
            });

            cliente.Enderecos.ForEach(e => enderecoDao.Delete(e));

            clientDao.Delete(cliente);
        }
        public Cliente RemoverCliente(Cliente cliente)
        {
            _clienteDao.AcessoDados.BeginTransaction();
            try
            {
                cliente.Enderecos.ForEach(endereco =>
                {
                    endereco.IdCliente = cliente.Id;
                    _enderecoDao.Delete(endereco);
                });
                _clienteDao.Delete(cliente);

                _clienteDao.AcessoDados.Commit();
                return(cliente);
            }
            catch (Exception error)
            {
                _clienteDao.AcessoDados.RollBack();
                throw error;
            }
        }