private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                ModeloCompra modelo = new ModeloCompra();
                modelo.Com_data      = dateCompra.Value;
                modelo.Com_nfiscal   = Convert.ToInt32(txtNotaFiscal.Text);
                modelo.Com_nparcelas = Convert.ToInt32(cbParcelas.Text);
                modelo.Com_status    = "EFE";
                modelo.For_cod       = Convert.ToInt32(textBox2.Text);
                modelo.Tpa_cod       = Convert.ToInt32(cbPagamento.SelectedValue);
                modelo.Com_total     = Convert.ToDouble(txtTotal.Text);

                DALConexao conexao = new DALConexao(DadosDaConexao.StringDeConexao);
                BLLCompra  compra  = new BLLCompra(conexao);

                ModeloItensCompra itensCompra = new ModeloItensCompra();
                BLLItensCompra    dao         = new BLLItensCompra(conexao);

                ModeloParcelasCompra parcelasCompra = new ModeloParcelasCompra();
                BLLParcelasCompra    daoParcelas    = new BLLParcelasCompra(conexao);
                if (operacao == "inserir")
                {
                    //cadastrar uma compra
                    compra.Incluir(modelo);
                    // cadastrar os itens da compra
                    for (int i = 0; i < GridItens.RowCount; i++)
                    {
                        itensCompra.Itc_cod   = i + 1;
                        itensCompra.Com_cod   = modelo.Com_cod;
                        itensCompra.Pro_cod   = Convert.ToInt32(GridItens.Rows[i].Cells[0].Value);
                        itensCompra.Itc_qtde  = Convert.ToInt32(GridItens.Rows[i].Cells[2].Value);
                        itensCompra.Itc_valor = Convert.ToInt32(GridItens.Rows[i].Cells[3].Value);

                        dao.Inserir(itensCompra);
                    }
                    //cadastrar as parcelas
                    for (int i = 0; i < GridParcelas.RowCount; i++)
                    {
                        parcelasCompra.Com_cod       = modelo.Com_cod;
                        parcelasCompra.Pco_cod       = Convert.ToInt32(GridParcelas.Rows[i].Cells[0].Value);
                        parcelasCompra.Pco_valor     = Convert.ToDouble(GridParcelas.Rows[i].Cells[1].Value);
                        parcelasCompra.Pco_datavecto = Convert.ToDateTime(GridParcelas.Rows[i].Cells[2].Value);

                        daoParcelas.Incluir(parcelasCompra);
                    }

                    MetroFramework.MetroMessageBox.Show(this, "Compra efetuada com sucesso", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    compra.Alterar(modelo);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 2
0
        //-------------------------------------------------------------------------------------------------------------------
        private void btSalvarParcela_Click(object sender, EventArgs e)
        {
            //criei a conexao
            SqlConnection cn = new SqlConnection();

            cn.ConnectionString = DALDadosDoBanco.stringDeConexao;
            cn.Open();
            //triar a transacao
            SqlTransaction tran = cn.BeginTransaction();

            try
            {
                if (this.operacao == "inserir")
                {
                    ModeloCompra compra = new ModeloCompra();
                    compra.com_nfiscal    = Convert.ToInt32(txtNFiscal.Text);
                    compra.for_cod        = Convert.ToInt32(txtForCod.Text);
                    compra.com_data       = dtVenda.Value;
                    compra.com_pagto_data = dtParcela.Value;
                    if ((cbTipoPagamento.Text == "DINHEIRO") || (cbTipoPagamento.Text == "Dinheiro"))
                    {
                        compra.com_pagto_dinheiro = Convert.ToDouble(txtTotal.Text);
                    }
                    if ((cbTipoPagamento.Text == "CARTAO") || (cbTipoPagamento.Text == "CARTÃO") || (cbTipoPagamento.Text == "Cartão") || (cbTipoPagamento.Text == "Cartao"))
                    {
                        compra.com_pagto_cartao = Convert.ToDouble(txtTotal.Text);
                    }
                    compra.com_data        = dtVenda.Value;
                    compra.tpa_cod         = Convert.ToInt32(cbTipoPagamento.SelectedValue);
                    compra.com_nparcela    = Convert.ToInt32(nupParcelas.Value);
                    compra.com_status      = 1;
                    compra.com_pagto_total = Convert.ToDouble(txtTotal.Text);
                    //inserindo a venda
                    BLLCompra BLLcompra = new BLLCompra();
                    //BLLcompra.incluir(compra);
                    BLLcompra.Incluir(compra, cn, tran);
                    //inserir os itens
                    ModeloItensCompra item    = new ModeloItensCompra();
                    BLLItensCompra    BllItem = new BLLItensCompra();
                    for (int i = 0; i < dgvItens.RowCount; i++)
                    {
                        item.itc_cod   = i + 1;
                        item.pro_cod   = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value);
                        item.com_cod   = Convert.ToInt32(compra.com_cod);
                        item.itc_qtde  = Convert.ToInt32(dgvItens.Rows[i].Cells[2].Value);
                        item.itc_valor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value);

                        //BllItem.incluir(item);
                        BllItem.Incluir(item, cn, tran);
                    }
                    ModeloParcelascompra pc    = new ModeloParcelascompra();
                    BLLParcelasCompra    bllpc = new BLLParcelasCompra();
                    for (int i = 0; i < dgvParcelas.RowCount; i++)
                    {
                        pc.pco_cod       = i + 1;
                        pc.com_cod       = compra.com_cod;
                        pc.pco_valor     = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value);
                        pc.pco_datavecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value);

                        //bllpv.incluir(pv);
                        bllpc.Incluir(pc, cn, tran);
                    }
                    tran.Commit();
                    MessageBox.Show("Registro incluido com sucesso \n Código Gerado: " + compra.com_cod, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception erro)
            {
                tran.Rollback();
                MessageBox.Show(erro.Message);
            }
            finally
            {
                cn.Close();
            }
            this.LimpaTela();
            this.alteraBotoes(1);
            pnFinalizaVenda.Visible = false;
        }
Exemplo n.º 3
0
        private void btSalvarParcela_Click(object sender, EventArgs e)
        {
            DAOConexao cx = new DAOConexao(DAOBanco.StringDeConexao);

            cx.Conectar();
            cx.IniciarTransacao();

            try
            {
                //leitura dos dados
                ModeloCompra modeloCompra = new ModeloCompra();
                modeloCompra.ComData      = dtDataCompra.Value;
                modeloCompra.ComNFiscal   = Convert.ToInt32(txtNFiscal.Text);
                modeloCompra.ComNParcelas = Convert.ToInt32(cbNParcelas.Text);
                modeloCompra.ComStatus    = "ativa";
                modeloCompra.ComTotal     = this.totalCompra;
                modeloCompra.ForCod       = Convert.ToInt32(txtForCod.Text);
                modeloCompra.TpaCod       = Convert.ToInt32(cbTpgto.SelectedValue);

                //obj para gravar os dados no banco
                //DAOConexao cx = new DAOConexao(DAOBanco.StringDeConexao);
                BLLCompra bll = new BLLCompra(cx);

                ModeloItensCompra mitens = new ModeloItensCompra();
                BLLItensCompra    bitens = new BLLItensCompra(cx);

                ModeloParcelasCompra mparcelas = new ModeloParcelasCompra();
                BLLParcelasCompra    bparcelas = new BLLParcelasCompra(cx);

                if (this.operacao == "inserir")
                {
                    //cadastrar uma compra
                    bll.Incluir(modeloCompra);

                    //cadastrar os itens da compra
                    for (int i = 0; i < dgvItens.RowCount; i++)
                    {
                        mitens.ItcCod   = i + 1;
                        mitens.ComCod   = modeloCompra.ComCod;
                        mitens.ProCod   = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value);
                        mitens.ItcQtde  = Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value);
                        mitens.ItcValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value);
                        bitens.Incluir(mitens);
                    }

                    //inserir os itens nas parcelas da compra
                    for (int i = 0; i < dgvParcelas.RowCount; i++)
                    {
                        mparcelas.ComCod       = modeloCompra.ComCod;
                        mparcelas.PcoCod       = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value);
                        mparcelas.PcoValor     = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value);
                        mparcelas.PcoDataVecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value);
                        bparcelas.Incluir(mparcelas);
                    }

                    //cadastras as parcelas da compra
                    MessageBox.Show("Compra efetuada: Código " + modeloCompra.ComCod.ToString());
                }
                else
                {
                    //alterar uma compra
                    modeloCompra.ComCod = Convert.ToInt32(txtComCod.Text);
                    bll.Alterar(modeloCompra);
                    bitens.ExcluirTodosItens(modeloCompra.ComCod);
                    //cadastrar os itens da compra
                    for (int i = 0; i < dgvItens.RowCount; i++)
                    {
                        mitens.ItcCod   = i + 1;
                        mitens.ComCod   = modeloCompra.ComCod;
                        mitens.ProCod   = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value);
                        mitens.ItcQtde  = Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value);
                        mitens.ItcValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value);
                        bitens.Incluir(mitens);
                    }
                    bparcelas.ExcluirTodasParcelas(modeloCompra.ComCod);
                    //inserir os itens nas parcelas da compra
                    for (int i = 0; i < dgvParcelas.RowCount; i++)
                    {
                        mparcelas.ComCod       = modeloCompra.ComCod;
                        mparcelas.PcoCod       = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value);
                        mparcelas.PcoValor     = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value);
                        mparcelas.PcoDataVecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value);
                        bparcelas.Incluir(mparcelas);
                    }

                    MessageBox.Show("Cadastro alterado");
                }
                this.LimpaTela();
                pnFinalizaCompra.Visible = false;
                this.alteraBotoes(1);
                cx.TerminarTransacao();
                cx.Desconectar();
            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message);
                cx.CancelarTransacao();
                cx.Desconectar();
            }
        }
        //Salvar compra:
        //Vai movimentar dados nas 4 tabelas:
        //select* from compra
        //select* from itenscompra
        //select* from parcelascompra
        //select* from produto -- atualiza Qtd. através de um tigger
        private void btSalvarCompra_Click(object sender, EventArgs e)
        {
            //-----------------------------------------------------------------------------------------------------------------------
            //CONEXAO:
            //-----------------------------------------------------------------------------------------------------------------------
            //Conexão - obj para gravar os dados no banco
            DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); //Recebe a string da conexão da classe DadosDaConexão

            try                                                             // conexao:
            {
                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                //CONEXAO: INCIAR TRANSAÇÃO
                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                cx.Conectar();         //CONECTAR NO BANCO - para poder usar a transação, tem que ser usado aénas uma conexao, antes cada tabela teinha seu conetar
                cx.IniciarTransacao(); //inicia transação no banco SQL - Feito para acoes que envolvem mais de uma tabela https://youtu.be/fA_T1ywEXqw

                //-----------------------------------------------------------------------------------------------------------------------
                //SALVAMENTO PROCESSO DA COMPRA:
                //-----------------------------------------------------------------------------------------------------------------------
                try //tratamento de erro
                {
                    //------------------------------------------------------------------------------------------------------------
                    //01 - COMPRA:
                    //------------------------------------------------------------------------------------------------------------
                    //criar o modelo compra:
                    ModeloCompra modeloCompra = new ModeloCompra();//cria uma objeto que representa os dados da tabela catagoria
                    //Criar um BLL DA COMPRA
                    BLLCompra bll = new BLLCompra(cx);
                    //Carregar os campos da compra:
                    modeloCompra.ComData       = dtDataCompra.Value;
                    modeloCompra.ComNfiscal    = Convert.ToInt32(txtNFiscal.Text);
                    modeloCompra.ComNparcelas  = Convert.ToInt32(cbNParcela.Text);
                    modeloCompra.ComStatus     = "ativa";//pode controlar como pedito, e ainda nao finalizou a compra.. ver!!
                    modeloCompra.ComValorTotal = Convert.ToDouble(txtTotalCompra.Text);
                    modeloCompra.ForCod        = Convert.ToInt32(txtForCod.Text);
                    modeloCompra.TpaCod        = Convert.ToInt32(cbTPagto.SelectedValue);

                    //------------------------------------------------------------------------------------------------------------
                    // 02 - ITENS DA COMPRA:
                    //------------------------------------------------------------------------------------------------------------
                    //criar o modelo itens compra:
                    ModeloItensCompra ModItens = new ModeloItensCompra();
                    //Criar um BLL Itens
                    BLLItensCompra bllItensc = new BLLItensCompra(cx);

                    //------------------------------------------------------------------------------------------------------------
                    // 03 - PARCELAS COMPRA:
                    //------------------------------------------------------------------------------------------------------------
                    //criar o modelo itens compra: https://youtu.be/oP5-jHpOhwE?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=255
                    ModeloParcelasCompra ModParcelas = new ModeloParcelasCompra();
                    //Criar um BLL Itens
                    BLLParcelasCompra bllParcelas = new BLLParcelasCompra(cx);

                    //------------------------------------------------------------------------------------------------------------
                    //verificar qual o tipo de operação que vai executar ao gravar
                    if (this.operacao == "inserir")//valida se é um inserção, verificar o valor da variavel operação
                    {
                        //------------------------------------------------------------------------------------------------------------
                        //01 - cadastrar onformações da Compra - ok
                        //------------------------------------------------------------------------------------------------------------
                        bll.Incluir(modeloCompra);//passa o nome para o metodo incluir // https://youtu.be/C6qCveils_o?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=1078

                        //------------------------------------------------------------------------------------------------------------
                        //02 - cadastrar os intens da compra
                        //------------------------------------------------------------------------------------------------------------
                        for (int i = 0; i < dgvItens.RowCount; i++)//pelo numero de linhas de itens //https://youtu.be/TJ_jhtk1yN8?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=395
                        {
                            //Carregar os campos dos iten compra  https://youtu.be/NStzTZnp4nU?t=168
                            ModItens.ItcCod   = i + 1;
                            ModItens.ComCod   = modeloCompra.ComCod;//retorna do Dall
                            ModItens.ProCod   = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value);
                            ModItens.ItcQtde  = Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value);
                            ModItens.ItcValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value);
                            //incluir itens da compra:
                            bllItensc.Incluir(ModItens);

                            //atualizar a qtd de produtos na tabela de produtos VIA SQL // https://youtu.be/NStzTZnp4nU  +  https://youtu.be/yhWGaBku24U?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=405
                            //trigger:gatilho no Banco, tabela itenscompra Nome: tgiIncrementarEstoqueProduto
                        }

                        //------------------------------------------------------------------------------------------------------------
                        //03 - cadastrar as parcelas da compra https://youtu.be/oP5-jHpOhwE?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=264
                        //------------------------------------------------------------------------------------------------------------
                        for (int i = 0; i < dgvParcelas.RowCount; i++)//pelo numero de linhas das parcelas
                        {
                            //Carregar os campos da parcelas
                            ModParcelas.ComCod       = modeloCompra.ComCod;
                            ModParcelas.PcoCod       = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value);
                            ModParcelas.PcoValor     = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value);
                            ModParcelas.PcoDatavecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value);
                            //incluir parcelas:
                            bllParcelas.Incluir(ModParcelas);
                        }

                        //MENSAGEM DE SUCESSO:
                        MessageBox.Show("Compra efetuada: Código " + modeloCompra.ComCod.ToString());//retorna a mensagem como o codigo do item que foi gerado
                    }
                    else //alterar uma Compra
                    {
                        //------------------------------------------------------------------------------------------------------------
                        //Alterar compra
                        //------------------------------------------------------------------------------------------------------------
                        modeloCompra.ComCod = Convert.ToInt32(txtComCod.Text); //alterar a Compra correspondente ao codigo exixtente na tela
                        bll.Alterar(modeloCompra);                             //alterar conforme codigo da compra na tela

                        //------------------------------------------------------------------------------------------------------------
                        //Alterar os intens da compa
                        //------------------------------------------------------------------------------------------------------------
                        bllItensc.ExcluirTodosOsItens(modeloCompra.ComCod); //excluir todos os itens
                        for (int i = 0; i < dgvItens.RowCount; i++)         //cadastra novamente as parcelas
                        {
                            //inserir os itens da compra na tabela  https://youtu.be/NStzTZnp4nU?t=168
                            ModItens.ItcCod   = i + 1;
                            ModItens.ComCod   = modeloCompra.ComCod;//retorna do Dall
                            ModItens.ProCod   = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value);
                            ModItens.ItcQtde  = Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value);
                            ModItens.ItcValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value);
                            //incluir dados:
                            bllItensc.Incluir(ModItens);

                            //atualizar a qtd de produtos na tabela de produtos VIA SQL // https://youtu.be/NStzTZnp4nU  +  https://youtu.be/yhWGaBku24U?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=405
                            //trigger:gatilho no Banco, tabela itenscompra Nome: tgiIncrementarEstoqueProduto
                        }

                        //------------------------------------------------------------------------------------------------------------
                        //Alterar as parcelas da compra https://youtu.be/oP5-jHpOhwE?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=264
                        //------------------------------------------------------------------------------------------------------------
                        bllParcelas.ExcluirTodasAsParcelas(modeloCompra.ComCod); //excluir todos as parcelas
                        for (int i = 0; i < dgvParcelas.RowCount; i++)           //cadastra novamente as parcelas
                        {
                            ModParcelas.ComCod       = modeloCompra.ComCod;
                            ModParcelas.PcoCod       = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value);
                            ModParcelas.PcoValor     = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value);
                            ModParcelas.PcoDatavecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value);
                            //incluir:
                            bllParcelas.Incluir(ModParcelas);
                        }
                        MessageBox.Show("Cadastro alterado");//mostrar mensagem de confirmação
                    }

                    // limpar a tela
                    this.LimpaTela();

                    //ocultar o painel de finalização:
                    pnFinalizaCompra.Visible = false;

                    //Mostrar dados da compra:
                    pnDados.Visible = true;

                    //Mostrar botoes:
                    pnBotoes.Visible = true;

                    this.alteraBotoes(1);//volta os botoes para o estado padrão

                    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                    //CONEXAO: TERMINAR TRANSAÇÃO
                    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                    //so vai gravar, se for nas tres tabelas
                    cx.TerminarTransacao();                                                //Efetua um comit, confirmar as alterações no banco
                    cx.Desconectar();                                                      //desconetar do banco
                }
                catch (Exception erro)                                                     // caso der algum erro...(não limpa a tela)
                {
                    MessageBox.Show("Erro ao gravar dados da Compra : \n" + erro.Message); //retorna mensagem do sistema, melhorar mensagem para o usuario
                    cx.Desconectar();                                                      //desconetar do banco
                }
            }
            catch (Exception erro)                                                    // casa der algum erro na conexao
            {
                MessageBox.Show("Erro ao conectar no Banco SQL : \n" + erro.Message); //retorna mensagem do sistema, melhorar mensagem para o usuario
                cx.CancelarTransacao();                                               //caso de erro desfaz todas as ações
                cx.Desconectar();                                                     //desconetar do banco se der erro
            }
        }