BoA tarde preciso de uma ajuda!
estou desenvolvendo um aplicacao em tres camadas mais esta ocorrendo um errro ao salvar outros tipos de dados que nao seja do tipo string! segue abaixo o codigo!
//Camada dados Medoto inserir produto!
public string Inserir(Dproduto Produto)
{
string resp = "";
SqlConnection SqlCon = new SqlConnection();
try
{
//codigo
SqlCon.ConnectionString = ConexaoBd.Cn;
SqlCon.Open();
SqlCommand SqlCmd = new SqlCommand();
SqlCmd.Connection = SqlCon;
SqlCmd.CommandText = "spinserir_produto";
SqlCmd.CommandType = CommandType.StoredProcedure;
SqlParameter ParId = new SqlParameter();
ParId.ParameterName = "@codigo";
ParId.SqlDbType = SqlDbType.Int;
ParId.Direction = ParameterDirection.Output;
SqlCmd.Parameters.Add(ParId);
//nome
SqlParameter ParNome = new SqlParameter();
ParNome.ParameterName = "@nome";
ParNome.SqlDbType = SqlDbType.VarChar;
ParNome.Size = 20;
ParNome.Value = Produto.nome;
SqlCmd.Parameters.Add(ParNome);
//finalidade
SqlParameter ParFinalidade = new SqlParameter();
ParFinalidade.ParameterName = "@finalidade";
ParFinalidade.SqlDbType = SqlDbType.VarChar;
ParFinalidade.Size = 50;
ParFinalidade.Value = Produto.finalidade;
SqlCmd.Parameters.Add(ParFinalidade);
//Unidade
SqlParameter ParUnidade = new SqlParameter();
ParUnidade.ParameterName = "@unidade";
ParUnidade.SqlDbType = SqlDbType.VarChar;
ParUnidade.Size = 50;
ParUnidade.Value = Produto.unidade;
SqlCmd.Parameters.Add(ParUnidade);
//CATEGORIA
SqlParameter ParIdCategoria = new SqlParameter();
ParIdCategoria.ParameterName = "@id_categoria";
ParIdCategoria.SqlDbType = SqlDbType.Int;
ParIdCategoria.Value = Produto.idCategoria;
SqlCmd.Parameters.Add(ParIdCategoria);
//FORNECEDOR
SqlParameter ParIdFornecedor = new SqlParameter();
ParIdFornecedor.ParameterName = "@id_fornecedor";
ParIdFornecedor.SqlDbType = SqlDbType.Int;
ParIdFornecedor.Value = Produto.idFornecedor;
SqlCmd.Parameters.Add(ParIdFornecedor);
SqlParameter ParPrecoVenda = new SqlParameter();
ParPrecoVenda.ParameterName = "@valor";
ParPrecoVenda.SqlDbType = SqlDbType.Money;
ParPrecoVenda.Size = 40;
ParPrecoVenda.Value = Produto.valorVenda;
SqlCmd.Parameters.Add(ParPrecoVenda);
SqlParameter ParPrecoCompra = new SqlParameter();
ParPrecoCompra.ParameterName = "@custo";
ParPrecoCompra.SqlDbType = SqlDbType.Money;
ParPrecoCompra.Size = 40;
ParPrecoCompra.Value = Produto.valorCusto;
SqlCmd.Parameters.Add(ParPrecoCompra);
SqlParameter ParQuantidade = new SqlParameter();
ParQuantidade.ParameterName = "@quantidade";
ParQuantidade.SqlDbType = SqlDbType.Int;
ParQuantidade.Value = Produto.quantidade;
SqlCmd.Parameters.Add(ParQuantidade);
//Executar
resp = SqlCmd.ExecuteNonQuery() == 1 ? "OK" : "Registro Não Foi Inserido!";
}
catch (Exception ex)
{
resp = ("Erro ao inserir" + ex.Message);
}
finally
{
if (SqlCon.State == ConnectionState.Open) SqlCon.Close();
}
return resp;
}
//Camada negocio metodo inserir
public static string Inserir(string nome,
string finalidade, string unidade, int idCategoria, int idFornecedor,
decimal valorVenda, decimal valorCusto, int quantidade)
{
Dproduto Obj = new CamadaDados.Dproduto();
Obj.Nome = nome;
Obj.Finalidade= finalidade;
Obj.Unidade = unidade;
Obj.IdCategoria = idCategoria;
Obj.IdFornecedor = idFornecedor;
Obj.ValorVenda = valorVenda;
Obj.ValorCusto = valorCusto;
Obj.Quantidade = quantidade;
return Obj.Inserir(Obj);
}
//Botao Salvar do meu formulario
private void btn_salvar_Click(object sender, EventArgs e)
{
try
{
string resp = "";
if (this.txtNome.Text == string.Empty)
{
MensagemErro("Preencha todos os campos!");
errorIcone.SetError(txtNome, "Insira o nome!");
}
else
{
if (this.eNovo)
{
resp = Nproduto.Inserir(this.txtNome.Text, this.cbMarca.Text, this.cbUnidade.Text, Int32.Parse(this.txtCategoria.Text),
Int32.Parse(this.txtFornecedor.Text),decimal.Parse(this.txtValor.Text),
decimal.Parse(this.txtCusto.Text), Int32.Parse(this.txtEstoque.Text));
} }
//mensagem de Erro