Example #1
0
        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;
            }
        }