Saving an information in the same database attribute using two textbox

0

I was wondering if I could save two different information to the same attribute in the database. Type I have two textboxes, one cpf and one cnpj. I wanted to save cpf and cnpj together. But I created two textboxes, one for each.

Model code

public int idClientefisico { get; set; } 
public string nome { get; set; } 
public string rg { get; set; } 
public string cpf { get; set; } 
public string email { get; set; } 
public string endereco { get; set; } 
public string nr { get; set; } 
public string cep { get; set; } 
public string estado { get; set; } 
public string telefone { get; set; } 
public string cidade { get; set; } 

public void Insert(Model.cliente_fisico clientefisico) 
{ 
    SqlConnection conexao = new SqlConnection(strCon);
    string sql = @"Insert into cliente_fisico values 
                  (@nome,@rg,@cpf,@email,@endereco,@nr,@cep,@estado,@telefone,@cidade)";

    SqlCommand cmd = new SqlCommand(sql, conexao);     
    cmd.Parameters.AddWithValue("@nome", clientefisico.nome); 
    cmd.Parameters.AddWithValue("@rg", clientefisico.rg); 
    cmd.Parameters.AddWithValue("@cpf", clientefisico.cpf); 
    cmd.Parameters.AddWithValue("@email", clientefisico.email); 
    cmd.Parameters.AddWithValue("@endereco", clientefisico.endereco); 
    cmd.Parameters.AddWithValue("@nr", clientefisico.nr); 
    cmd.Parameters.AddWithValue("@cep", clientefisico.cep); 
    cmd.Parameters.AddWithValue("@estado", clientefisico.estado); 
    cmd.Parameters.AddWithValue("@telefone", clientefisico.telefone); 
    cmd.Parameters.AddWithValue("@cidade", clientefisico.cidade); 

    conexao.Open(); 

    try 
    { 
         cmd.ExecuteNonQuery(); 
    }
    catch
    {
        Console.WriteLine("Deu erro na inserção de Cliente do tipo fisico ... ");
    }
    finally
    {
        conexao.Close();
    }
}
    
asked by anonymous 02.05.2016 / 21:35

1 answer

0

Yes, you can do this with simple techniques. See this example using only a ViewModel class:

public class CadastroViewModel
{
    // outras propriedades
    public string CPF { get; set; }
    public string CNPJ { get; set; }
    public string Documento
    {
        get { return CPF ?? CNPJ; }
        set 
        { 
            if (ID.Length < 14)
                CPF = Documento;
            else
                CNPJ = Documento;
        }
    }
}

So you assign TextBoxes values to CPF and CNPJ, but always saves and retrieves the Document property from the database.

    
02.05.2016 / 21:46