Exemplo n.º 1
0
        private static Cliente InserindoCliente(IClienteDao clientDao, IEnderecoDao enderecoDao)
        {
            Cliente cliente = new Cliente()
            {
                DataNascimento = DateTime.Parse("04/05/1982"),
                Nome           = "Cliente Teste",
                Sobrenome      = "Teste",
                Enderecos      = new System.Collections.Generic.List <Endereco>()
                {
                    new Endereco {
                        Logradouro = "a", Bairro = "b", Cidade = "c", Estado = "e", Cep = "18135070", Tipo = TipoEndereco.Residencial
                    },
                    new Endereco {
                        Logradouro = "f", Bairro = "g", Cidade = "h", Estado = "i", Cep = "18135070", Tipo = TipoEndereco.Comercial
                    }
                }
            };

            clientDao.Insert(cliente);
            cliente.Enderecos.ForEach(endereco =>
            {
                endereco.IdCliente = cliente.Id;
                enderecoDao.Insert(endereco);
            });

            return(cliente);
        }
        public Cliente InserirNovoCliente(Cliente cliente)
        {
            _clienteDao.AcessoDados.BeginTransaction();
            try
            {
                _clienteDao.Insert(cliente);
                cliente.Enderecos.ForEach(endereco =>
                {
                    endereco.IdCliente = cliente.Id;
                    _enderecoDao.Insert(endereco);
                });

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