none
Conversões em Camadas RRS feed

  • Pergunta

  • Boa noite pessoal!

    Em um projeto em camadas estou tentando converter algumas variaveis mais esta gerando um erro (Cadeia de entrada não estava em um formato incorreto.)

     no formulario (cadastro de clientes) estou utilizando assim

    clientes.InscricaoEstadual = Convert.ToInt32( mskIncricao_Estadual.Text.ToString());
    clientes.InscricaoMunicipal = Convert.ToInt32(mskIncricao_Municipal.Text.ToString());

     clientes.Cnpj = Convert.ToInt32(mskCNPJ.Text.ToString());
     clientes.Cpf = Convert.ToInt32(mskCpf.Text.ToString());

    Algum conhece uma forma certa de converter estes dados por camada ?

    O que eu tenho que mudar nestas linhas de codigo ?

    Muito Obrigado.

    quarta-feira, 21 de agosto de 2013 00:53

Respostas

  • Carlos..Macedo, blxx mano,

    Isso acontece pq as suas propriedades Clientes.InscricaoEstadual,clientes.InscricaoMunicipal , clientes.Cnpj ,clientes.Cpf são Int , e na hora de passar os valores se  algum dos seus textbox for vazio iram enviar para suas propriedades o valor "" que é uma string ai da crash !!!!!!!!!!!!!! pode trata esse erro utilizando operador  ternário da seguinte forma:

                clientes.InscricaoEstadual = Convert.ToInt32(mskIncricao_Estadual.Text == "" ? null : mskIncricao_Estadual.Text);
                clientes.InscricaoMunicipal = Convert.ToInt32(mskIncricao_Municipal.Text == "" ? null : mskIncricao_Municipal.Text);
    
                clientes.Cnpj = Convert.ToInt32(mskCNPJ.Text == "" ? null : mskCNPJ.Text);
                clientes.Cpf = Convert.ToInt32(mskCpf.Text == "" ? null : mskCpf.Text );
    se ajudou marque como resposta :)

    Diego Almeida Barreto System Analyst / Software Developer


    quarta-feira, 21 de agosto de 2013 02:18
  • Carlos..Macedo,

    Vc está fazendo validação do tipo de dados que esta sendo imputado no seu maskedTextbox?????

    Ex: vc está convertendo para Int mas esta deixando digitar String........

    pode tentar o tryParse .. porem ele naum vai te lançar exceção.. o ideal é fazer a validação de cada campo 

    Int32.TryParse(mskIncricao_Estadual.Text, out clientes.InscricaoEstadual);


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta Alysson Queiroz sexta-feira, 23 de agosto de 2013 19:16
    quarta-feira, 21 de agosto de 2013 14:39

Todas as Respostas

  • Carlos..Macedo, blxx mano,

    Isso acontece pq as suas propriedades Clientes.InscricaoEstadual,clientes.InscricaoMunicipal , clientes.Cnpj ,clientes.Cpf são Int , e na hora de passar os valores se  algum dos seus textbox for vazio iram enviar para suas propriedades o valor "" que é uma string ai da crash !!!!!!!!!!!!!! pode trata esse erro utilizando operador  ternário da seguinte forma:

                clientes.InscricaoEstadual = Convert.ToInt32(mskIncricao_Estadual.Text == "" ? null : mskIncricao_Estadual.Text);
                clientes.InscricaoMunicipal = Convert.ToInt32(mskIncricao_Municipal.Text == "" ? null : mskIncricao_Municipal.Text);
    
                clientes.Cnpj = Convert.ToInt32(mskCNPJ.Text == "" ? null : mskCNPJ.Text);
                clientes.Cpf = Convert.ToInt32(mskCpf.Text == "" ? null : mskCpf.Text );
    se ajudou marque como resposta :)

    Diego Almeida Barreto System Analyst / Software Developer


    quarta-feira, 21 de agosto de 2013 02:18
  • Bom dia Diego eu tentei desta forma, mas esta dando o mesmo erro. Vou postar a mensagem de erro.

    Sera que tem outra forma de fazer esta conversão ?

    Muito Obrigado.

    quarta-feira, 21 de agosto de 2013 09:08
  • Carlos..Macedo,

    Vc está fazendo validação do tipo de dados que esta sendo imputado no seu maskedTextbox?????

    Ex: vc está convertendo para Int mas esta deixando digitar String........

    pode tentar o tryParse .. porem ele naum vai te lançar exceção.. o ideal é fazer a validação de cada campo 

    Int32.TryParse(mskIncricao_Estadual.Text, out clientes.InscricaoEstadual);


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta Alysson Queiroz sexta-feira, 23 de agosto de 2013 19:16
    quarta-feira, 21 de agosto de 2013 14:39