private void bt_Gravar_Click(object sender, EventArgs e) { cadPro = new ProdutoRepositorio(); Produto prod = new Produto(); erros = new List <ErrosDB>(); bool erro = false; string msgErro = ""; string status = ""; string estOk = ""; string usaTP = ""; string retorno = ""; //Campos Automáticos if (ck_estoqueOk.Checked) //Controla Estoque { estOk = "S"; } else { estOk = "N"; } if (cb_status.Text == "") //Status do Produto { status = "A"; } else { if (cb_status.SelectedIndex == 0) { status = "A"; } if (cb_status.SelectedIndex == 1) { status = "I"; } } if (ck_TabPreco.Checked) //Tipo de Preço { usaTP = "S"; } else { usaTP = "N"; } if (CodUniEnt <= 0) //Unidade de Entrada. { CodUniEnt = CodUniSai; } //Verifica campos Obrigatórios (Marca, Grupo, SubGrupo e Unidades) if (CodUniSai <= 0) //Unidade de Saída { msgErro += "Por Favor Informe a Unidade Padrão do Produto!\n"; erro = true; } if (CodMarca <= 0) //Marca { msgErro += "Por Favor Informe uma Marca para o Produto!\n"; erro = true; } if (CodGrupo <= 0) //Grupo { msgErro += "Por Favor Informe um Grupo para o Produto!\n"; erro = true; } if (CodSubGrupo <= 0) //SubGrupo { msgErro += "Por Favor Informe um Sub Grupo para o Produto!\n"; erro = true; } if (tb_descricao.Text == "") { msgErro += "Por Favor Informe a Descrição do Produto!\n"; erro = true; } if (tb_precoVenda.Text == "" && ck_TabPreco.Checked == false) { msgErro += "Por Favor Informe o Preço de Venda do Produto!\n"; erro = true; } if (erro) //Se deu erro { MessageBox.Show(msgErro, Funcoes.msgCab, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { prod.ProdutoId = CodPro; prod.CodRefPro = tb_codRef.Text; prod.StaProd = status; prod.DescProd = tb_descricao.Text; prod.CodMarca = CodMarca; prod.CodGrupo = CodGrupo; prod.CodSubGrupo = CodSubGrupo; prod.CodUniSai = CodUniSai; prod.CodUniEnt = CodUniEnt; if (tb_precoVenda.Text != "") { if (tb_precoVenda.Text[0] == 'R') { tb_precoVenda.Text = tb_precoVenda.Text.Substring(2); } prod.PrecoVenda = Convert.ToDecimal(tb_precoVenda.Text); } else { prod.PrecoVenda = 0; } if (tb_qntMin.Text != "") { prod.QtdMinima = Convert.ToDecimal(tb_qntMin.Text); } else { prod.QtdMinima = 5; } prod.ObsProd = tb_obsPro.Text; prod.ControlaQnt = estOk; if (tb_qntMin.Text != "") { prod.QntEquiv = Convert.ToInt32(tb_qntEquiv.Text); } else { prod.QntEquiv = 1; } if (tb_cusRep.Text != "") { if (tb_cusRep.Text[0] == 'R') { tb_cusRep.Text = tb_cusRep.Text.Substring(2); } prod.CustoRepPro = Convert.ToDecimal(tb_cusRep.Text); } else { prod.CustoRepPro = 0; } if (tb_cusMed.Text != "") { if (tb_cusMed.Text[0] == 'R') { tb_cusMed.Text = tb_cusMed.Text.Substring(2); } prod.CustoMedPro = Convert.ToDecimal(tb_cusMed.Text); } else { prod.CustoMedPro = 0; } if (tb_datCusto.Text != "") { prod.DataCusPro = Convert.ToDateTime(tb_datCusto.Text); } else { prod.DataCusPro = Convert.ToDateTime("1753-01-01"); } prod.UsaTabPre = usaTP; prod.DataCadPro = datacadastro; if (arqimgpro != "") { FileInfo fileInfo = new FileInfo(arqimgpro); prod.extimgpro = fileInfo.Extension; } if (pb_imgPro.Image != null) { prod.ImagProd = Funcoes.SetImage(pb_imgPro.Image, prod.extimgpro); prod.NomeImgPro = arqimgpro; } else { prod.extimgpro = ".png"; prod.ImagProd = Funcoes.SetImage(pb_imgPro.InitialImage, prod.extimgpro); prod.NomeImgPro = "Logo Gerstão Modular.png"; arqimgpro = prod.NomeImgPro; } retorno = cadPro.Add_and_Update(prod); if (retorno == "OK") { MessageBox.Show("Cadastro Realizado com Sucesso!!!", Funcoes.msgCab, MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { MessageBox.Show("Problemas ao Cadastrar!!!\n\nMais Detalhes Abaixo\n" + retorno, Funcoes.msgCab, MessageBoxButtons.OK, MessageBoxIcon.Error); } cadPro.Dispose(); } catch (Exception ex) { retorno = "Não foi possível efetuar a gravação das alterações devido ao erro abaixo\n\n" + ex.Message + "\n" + ex.InnerException; } }