Erro de Object Referece

11/04/2013

0

Olá a todos,
Estou usando: Entity Framework

No banco de dados:
Tenho um tabela cliente e uma tabela empresa;
Na tabela cliente tenho um compo Empres_Id que é uma FK da tabela empresa;
Fiz uma rotina para cadastro e atualização como mostra o código abaixo:

void Atualizar()
{
try
{
using (var ctx = new sigproEntities())
{
var atualiza = ctx.cliente.FirstOrDefault(c => c.Id == Cliente.Id);
if (rbAtivo.Checked)
{
aux = "A";
}
if (rbInativo.Checked)
{
aux = "I";
}

if (cbTipo.Text == "CPF")
{
atualiza.DTCadastro = Convert.ToDateTime(mtbDtCadastro.Text);
atualiza.Tipo = cbTipo.Text;
atualiza.SituacaoCliente = aux;
atualiza.Nome = txtNome.Text;
atualiza.Endereco = txtEndereco.Text;
atualiza.Complemento = txtComplemento.Text;
atualiza.Bairro = txtBairro.Text;
atualiza.Cep = mtbCep.Text.Replace(".", "").Replace("-", "");
atualiza.Cidade = txtCidade.Text;
atualiza.Estado = txtUf.Text;
atualiza.TelFixo = mtbTelFixo.Text.Replace("(", "").Replace(")", "").Replace("-", "");
atualiza.TelCelular = mtbTelCelular.Text.Replace("(", "").Replace(")", "").Replace("-", "");
atualiza.Email = txtEmail.Text;
atualiza.CpfCnpj = txtCpfCnpj.Text.Replace(".", "").Replace("-", "");
atualiza.RgIe = txtRgIe.Text;
atualiza.DtNacimento = Convert.ToDateTime(mtbDtNacimento.Text);
atualiza.Pai = txtPai.Text;
atualiza.Mae = txtMae.Text;

ctx.SaveChanges();
}
else if (cbTipo.Text == "CNPJ")
{
atualiza.DTCadastro = Convert.ToDateTime(mtbDtCadastro.Text);
atualiza.Tipo = cbTipo.Text;
atualiza.SituacaoCliente = aux;
atualiza.Nome = txtNome.Text;
atualiza.Endereco = txtEndereco.Text;
atualiza.Complemento = txtComplemento.Text;
atualiza.Bairro = txtBairro.Text;
atualiza.Cep = mtbCep.Text.Replace(".", "").Replace("-", "");
atualiza.Cidade = txtCidade.Text;
atualiza.Estado = txtUf.Text;
atualiza.TelFixo = mtbTelFixo.Text.Replace("(", "").Replace(")", "").Replace("-", "");
atualiza.TelCelular = mtbTelCelular.Text.Replace("(", "").Replace(")", "").Replace("-", "");
atualiza.Email = txtEmail.Text;
atualiza.CpfCnpj = txtCpfCnpj.Text.Replace(".", "").Replace("-", "");
atualiza.RgIe = txtRgIe.Text;
atualiza.NomeSocio = txtNomeSocio.Text;
atualiza.CpfSocio = txtCpfSocio.Text.Replace(".", "").Replace("-", "");
atualiza.RgSocio = txtRgSocio.Text;
atualiza.Site = txtSite.Text;

ctx.SaveChanges();
};
}
MessageBox.Show("Dados alterados com sucesso!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}


void Gravar()
{
try
{
using (var ctx = new sigproEntities())
{
if (rbAtivo.Checked)
{
aux = "A";
}
if (rbInativo.Checked)
{
aux = "I";
}

if (cbTipo.Text == "CPF")
{

var CL = new cliente
{
Empresa_Id = 1, //(É o código da empresa na tabela empresa)
DTCadastro = Convert.ToDateTime(mtbDtCadastro.Text),
Tipo = cbTipo.Text,
SituacaoCliente = aux,
Nome = txtNome.Text,
Endereco = txtEndereco.Text,
Complemento = txtComplemento.Text,
Bairro = txtBairro.Text,
Cep = mtbCep.Text.Replace(".", "").Replace("-", ""),
Cidade = txtCidade.Text,
Estado = txtUf.Text,
TelFixo = mtbTelFixo.Text.Replace("(", "").Replace(")", "").Replace("-", ""),
TelCelular = mtbTelCelular.Text.Replace("(", "").Replace(")", "").Replace("-", ""),
Email = txtEmail.Text,
CpfCnpj = txtCpfCnpj.Text.Replace(".", "").Replace("-", ""),
RgIe = txtRgIe.Text,
DtNacimento = Convert.ToDateTime(mtbDtNacimento.Text),
Pai = txtPai.Text,
Mae = txtMae.Text,
};
ctx.cliente.Add(CL);
ctx.SaveChanges();
}
else if (cbTipo.Text == "CNPJ")
{
var CL = new cliente
{
Empresa_Id = 1, //(É o código da empresa na tabela empresa)
DTCadastro = Convert.ToDateTime(mtbDtCadastro.Text),
Tipo = cbTipo.Text,
SituacaoCliente = aux,
Nome = txtNome.Text,
Endereco = txtEndereco.Text,
Complemento = txtComplemento.Text,
Bairro = txtBairro.Text,
Cep = mtbCep.Text.Replace(".", "").Replace("-", ""),
Cidade = txtCidade.Text,
Estado = txtUf.Text,
TelFixo = mtbTelFixo.Text.Replace("(", "").Replace(")", "").Replace("-", ""),
TelCelular = mtbTelCelular.Text.Replace("(", "").Replace(")", "").Replace("-", ""),
Email = txtEmail.Text,
CpfCnpj = txtCpfCnpj.Text.Replace(".", "").Replace("-", ""),
RgIe = txtRgIe.Text,
NomeSocio = txtNomeSocio.Text,
CpfSocio = txtCpfSocio.Text.Replace(".", "").Replace("-", ""),
RgSocio = txtRgSocio.Text,
Site = txtSite.Text
};
ctx.cliente.Add(CL);
ctx.SaveChanges();
};
}
MessageBox.Show("Dados salvos com sucesso!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}


private void btnGravar_Click(object sender, EventArgs e)
{
try
{
if (txtCodigo.Text == null)
{
Gravar();
btnPesquisar.Enabled = true;
btnNovo.Enabled = true;
btnGravar.Enabled = true;
}
else if (txtCodigo.Text == Cliente.Id.ToString())
{
Atualizar();
btnPesquisar.Enabled = true;
btnNovo.Enabled = true;
btnGravar.Enabled = true;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

Consulta, busca e atualização funcionam perfeitamente, o problema é quando vou inserir um novo cliente e aponta o seguinte erro "Object reference not set to an instance of an object" e aponta um erro na linha
"else if (txtCodigo.Text == Cliente.Id.ToString()) do metodo btnGravar_click estas linha deste metodo e apenas para chamar os metodos gravar() e atualizar(). Se eu deixar somente a linha onde chamo o metodo Gravar() funciona normal só que fazendo a verificação apresenta este erro.
Elessandro Poças

Elessandro Poças

Responder

Posts

13/04/2013

Elessandro Poças

Já resolvi o problema...
Responder

13/04/2013

Joel Rodrigues

Obrigado pelo retorno.
Estou marcando este tópico como Concluído para mantermos a organização do fórum.
Abraço.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar