Exemplo n.º 1
0
        private void btExcluir_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult d = MessageBox.Show("Deseja excluir o registro?", "Aviso", MessageBoxButtons.YesNo);
                if (d.ToString() == "Yes")
                {
                    int codigo = Convert.ToInt32(txtComCod.Text);
                    int qtde   = Convert.ToInt32(cbNParcelas.Text);

                    //conexao e bll da compra
                    DAOConexao cx   = new DAOConexao(DAOBanco.StringDeConexao);
                    BLLCompra  bblc = new BLLCompra(cx);

                    //determina a quantidade de parcelas pagas
                    qtde -= bblc.QtdeParcelasNaoPagas(codigo);

                    if (qtde == 0)//parcela foi paga
                    {
                        cx.Conectar();
                        cx.IniciarTransacao();
                        try
                        {
                            //exlcuir as parcelas da compra
                            BLLParcelasCompra bllp = new BLLParcelasCompra(cx);
                            bllp.ExcluirTodasParcelas(codigo);

                            //excluir itens da compra
                            BLLItensCompra blli = new BLLItensCompra(cx);
                            blli.ExcluirTodosItens(codigo);

                            //excluir compra
                            bblc.Excluir(codigo);
                            MessageBox.Show("Registro excluído.");
                            cx.TerminarTransacao();
                            cx.Desconectar();
                            this.LimpaTela();
                            this.alteraBotoes(1);
                        }
                        catch (Exception erro)
                        {
                            MessageBox.Show(erro.Message);
                            cx.CancelarTransacao();
                            cx.Desconectar();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Impossível excluir o registro. \n Registro possui parcelas pagas.");
                    }
                }
            }
            catch
            {
                MessageBox.Show("Impossível excluir o registro. \n O registro está sendo utilizado em outro local.");
                this.alteraBotoes(3);
            }
        }
        private void btExcluir_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult d = MessageBox.Show("Deseja excluir o Registro?", "Aviso", MessageBoxButtons.YesNo);
                if (d.ToString() == "Yes")
                {
                    int codigo = Convert.ToInt32(txtCodCom.Text);
                    int qtde   = Convert.ToInt32(cbNParcelas.Text);

                    //conexao e bll da compra
                    DALConexao cx   = new DALConexao(DadosDaConexao.StringDeConexao);
                    BLLCompra  bllc = new BLLCompra(cx);
                    qtde -= bllc.QuantidadeParcelasNaoPagas(codigo);
                    if (qtde == 0)//nao paguei nenhuma parcela
                    {
                        cx.Conectar();
                        cx.IniciarTransacao();
                        try
                        {
                            //excluir as parcelas da compra
                            BLLParcelaCompra bllp = new BLLParcelaCompra(cx);
                            bllp.ExcluirTodasAsParcelas(codigo);

                            //excluir os itens da compra
                            BLLItensCompra blli = new BLLItensCompra(cx);
                            blli.ExcluirTodosOsItens(codigo);

                            //excluir a compra
                            bllc.Excluir(codigo);
                            cx.TerminarTransacao();
                            cx.Desconectar();

                            this.LimpaTela();
                            this.alteraBotoes(1);
                        }
                        catch (Exception erro)
                        {
                            MessageBox.Show(erro.Message);
                            cx.CancelaTransacao();
                            cx.Desconectar();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Impossivel excluir o registro. \n O registro possui parcelas pagas");
                    }
                }
            }
            catch
            {
                MessageBox.Show("Impossivel excluir o registro. \n O registro esta sendo usado em outro local");
                this.alteraBotoes(3);
            }
        }
        //botão excluir compra
        private void btnExcluir_Click(object sender, EventArgs e)
        {
            try
            {
                //Aqui ele executa um diálogo perguntando se o usuário deseja ou não excluir o registro.
                if (MessageBox.Show("Deseja excluir o registro?", "Atenção", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    /*Caso "sim", é aberto a conexão com o banco e executado o método de excluir. */
                    //Método de excluir sendo chamado.
                    BLLCompra.Excluir(int.Parse(dgvCompra.CurrentRow.Cells[0].Value.ToString()));

                    dgvCompra.DataSource = DALCompra.CarregarGrid();
                }
            }
            catch
            {
                //Caso apresente algum erro. Será retornado esta mensagem.
                MessageBox.Show("Impossível excluir o registro. \n O registro está sendo utilizado em outro local");
            }
        }
Exemplo n.º 4
0
        private void btExcluir_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult d = MessageBox.Show("Deseja excluir o registro?", "Aviso", MessageBoxButtons.YesNo);
                if (d.ToString() == "Yes")
                {
                    DALConexao cx = new DALConexao(DadosConexao.StringDeConexao);
                    BLLCompra bll = new BLLCompra(cx);
                    bll.Excluir(Convert.ToInt32(txtCodigo.Text));
                    this.LimpaTela();
                    this.alteraBotoes(1);

                }
            }
            catch
            {
                MessageBox.Show("Impossível excluir o registro. \n O registro está sendo utilizado");
                this.alteraBotoes(2);
            }
        }
Exemplo n.º 5
0
        private void btnExcluir_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult d = MessageBox.Show("Deseja excluir o registro?", "Aviso", MessageBoxButtons.YesNo);

                if (d.ToString() == "Yes")
                {
                    DALConexao cx  = new DALConexao(DadosDaConexao.StringDeConexao);
                    BLLCompra  bll = new BLLCompra(cx);
                    bll.Excluir(Convert.ToInt32(txtCodCom.Text));
                    this.LimpaTela();
                    this.AlteraBotoes(1);
                }
            }
            catch
            {
                MessageBox.Show("Impossível excluir esse registro. \nO registro está sendo utilizado em outro local.");
                this.AlteraBotoes(3);
            }
        }
        //=============================================================================================================
        private void btExcluir_Click(object sender, EventArgs e) // https://youtu.be/U_JhTWIVRro?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA
        {
            //tem que excluir os itens relacionados em todas as tabelas em um sequencia logica:
            //tem que excluir na sequencia inversa em que se gravou a compra

            //-----------------------------------------------------------------------------------------------------------------------
            //CONEXAO:
            //-----------------------------------------------------------------------------------------------------------------------
            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

                //Validar, excluir compra se ja tiver sido efetuado alguma pagamento:
                try
                {
                    DialogResult d = MessageBox.Show("Deseja excluir o registro?", "Aviso", MessageBoxButtons.YesNo);//confirmar antes de excluir
                    //caso responder sim...
                    if (d.ToString() == "Yes")
                    {
                        //pega o codigo da compra:
                        int CodigoCompra = Convert.ToInt32(txtComCod.Text);

                        //criar objetos BLL:
                        BLLParcelasCompra bllPar  = new BLLParcelasCompra(cx);
                        BLLItensCompra    bllITen = new BLLItensCompra(cx);
                        BLLCompra         bllCP   = new BLLCompra(cx); //passa a string de conexao

                        //verificar se tem parcelas pagas:
                        int Qtde = bllCP.QuantidadeParcePagas(CodigoCompra);

                        if (Qtde > 0)                                                                                                                                      //se tiver parcelas pagas
                        {
                            DialogResult g = MessageBox.Show("Esta Compra possui Parcelas Pagas Deseja! \n Deseja excluir o registro?", "Aviso", MessageBoxButtons.YesNo); //confirmar antes de excluir
                            //caso responder sim...
                            if (g.ToString() == "No")
                            {
                                //cancela esta ação:
                                cx.TerminarTransacao(); //Efetua um comit, confirmar as alterações no banco
                                cx.Desconectar();       //desconetar do banco
                                return;
                            }
                        }

                        //---------------------------------------------------------------------------------------------------------------------------
                        //03 - Excluir as parcelas da compra:
                        //---------------------------------------------------------------------------------------------------------------------------
                        bllPar.ExcluirTodasAsParcelas(CodigoCompra);

                        //---------------------------------------------------------------------------------------------------------------------------
                        //02 - Excluir itens da compra:
                        //---------------------------------------------------------------------------------------------------------------------------
                        bllITen.ExcluirTodosOsItens(CodigoCompra);

                        //---------------------------------------------------------------------------------------------------------------------------
                        //01 - Excluir compra:
                        //---------------------------------------------------------------------------------------------------------------------------
                        bllCP.Excluir(Convert.ToInt32(txtComCod.Text));//retorna erro se este codigo ja estiver sendo utilizado como chave em outra tabela

                        //Mensagem de sucesso:
                        MessageBox.Show("Cadastro excluido com sucesso!");
                    }
                }
                catch // sem o Exception, qualquer tipo de erro
                {
                    MessageBox.Show("Impossível excluir o registro. \n O registro esta sendo utilizado em outro local.");
                    this.alteraBotoes(3);
                    cx.CancelarTransacao(); //caso de erro desfaz todas as ações
                    cx.Desconectar();       //desconetar do banco
                }

                this.LimpaTela();
                this.alteraBotoes(1);

                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                //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.CancelarTransacao();                                                //caso de erro desfaz todas as ações
                cx.Desconectar();                                                      //desconetar do banco
            }
        }