예제 #1
0
        public void estornar(int idparcela, int par_controle, int par_numero, int par_pai)
        {
            //FBBanco fb = new FBBanco();
            SQLBanco fb = new SQLBanco();

            if (fb.conecta())
            {
                try
                {
                    fb.beginTransaction();
                    string sql = "";

                    if (par_controle > 1)
                    {
                        sql = @"update parcelacontapagar set 
                                par_estornar    = 1 
                                where par_numero    = @par_numero and 
                                      par_controle  = @par_controle and 
                                      par_pai       = @par_pai";
                        fb.executeNonQuery(sql, "@par_numero", par_numero, "@par_controle", par_controle - 1, "@par_pai", par_pai);
                    }

                    sql = @"update parcelacontapagar set 
                            par_status      = 1,
                            par_valorpago   = 0,
                            par_estornar    = 0,
                            par_dtpagamento = null 
                            where par_id=@par_id";

                    fb.executeNonQuery(sql, "@par_id", idparcela);

                    sql = @"delete from parcelacontapagar 
                            where par_numero    = @par_numero and 
                                  par_controle  = @par_controle and 
                                  par_pai       = @par_pai";
                    fb.executeNonQuery(sql,
                                       "@par_pai", par_pai, "@par_numero", par_numero,
                                       "@par_controle", par_controle + 1);

                    fb.commitTransaction();
                }
                catch
                {
                    fb.rollbackTransaction();
                }

                fb.desconecta();
            }
        }
예제 #2
0
        public void pagar(int idcompra, int idcaixa, int idparcela,
                          int par_controle, int par_numero, int par_pai, decimal valor,
                          decimal valorpago, DateTime dtvencimento, DateTime dtpagamento, string descricao)
        {
            //FBBanco fb = new FBBanco();
            SQLBanco fb = new SQLBanco();

            if (fb.conecta())
            {
                try
                {
                    fb.beginTransaction();
                    string sql = "";

                    if (par_controle > 1)
                    {
                        sql = @"update parcelacontapagar set    
                                par_estornar = 0
                                where par_numero   = @par_numero and 
                                      par_controle = @par_controle and 
                                      par_pai      = @par_pai";
                        fb.executeNonQuery(sql, "@par_numero", par_numero, "@par_controle", par_controle - 1, "@par_pai", par_pai);
                    }

                    sql = @"update parcelacontapagar set 
                            par_status      = 0,
                            par_valorpago   = @par_valorpago,
                            par_estornar    = 1,
                            par_dtpagamento = @par_dtpagamento 
                            where par_id = @par_id";
                    fb.executeNonQuery(sql, "@par_id", idparcela,
                                       "@par_valorpago", valorpago, "@par_dtpagamento", dtpagamento
                                       );

                    if (valor > valorpago)
                    {
                        DateTime data = dtvencimento.AddMonths(1);
                        sql = @"insert into parcelacontapagar(
                                par_pai,par_controle,par_numero,com_id,par_valor,
                                par_dtvencimento,par_status,
                                par_valorpago, par_descricao
                                ) values(
                                @par_pai,@par_controle,@par_numero,@com_id,@par_valor,
                                @par_dtvencimento,@par_status,
                                @par_valorpago, @par_descricao
                                )";

                        if (par_pai <= 0)
                        {
                            par_pai = idparcela;
                        }

                        par_controle++;
                        fb.executeNonQuery(sql,
                                           "@com_id", idcompra, "@par_pai", par_pai, "@par_controle", par_controle,
                                           "@par_numero", par_numero, "@par_valor", valor - valorpago,
                                           "@par_dtvencimento", data, "@par_status", 1, "@par_valorpago", 0, "@par_descricao", descricao);
                    }

                    fb.commitTransaction();
                }
                catch
                {
                    fb.rollbackTransaction();
                }

                fb.desconecta();
            }
        }