Example #1
0
        // ESTORNAR A PAGAR AND DELETE SAIDA
        //------------------------------------------------------------------------------------------------------------
        public bool EstornarAPagar(
            objAPagar apagar,
            objMovimentacao saida,
            Action <int, decimal> ContaSldLocalUpdate,
            Action <int, decimal> SetorSldLocalUpdate)
        {
            AcessoDados dbTran = null;

            try
            {
                dbTran = new AcessoDados();
                dbTran.BeginTransaction();

                // Verifica CONTA BLOQUEIO
                ContaBLL cBLL = new ContaBLL();

                if (!cBLL.ContaDateBlockPermit((int)saida.IDConta, saida.MovData, dbTran))
                {
                    throw new AppException("A Data da Conta está BLOQUEADA nesta Data proposta...", 2);
                }

                // CHECK SOURCE DESPESA IS DESPESA COMUM AND CHANGE SITUACAO
                if (apagar.DespesaOrigem == 1)
                {
                    var dBLL = new DespesaComumBLL();
                    dBLL.ChangeSituacaoDespesa(apagar.IDDespesa, 1, dbTran);
                }

                // DELETE REMOVE SAIDA
                new MovimentacaoBLL().DeleteMovimentacao((long)saida.IDMovimentacao, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran);

                // Change APAGAR
                decimal DoValor = saida.MovValor - (saida.AcrescimoValor ?? 0);

                apagar.ValorAcrescimo -= saida.AcrescimoValor ?? 0;
                apagar.ValorPago      += DoValor;
                apagar.PagamentoData   = null;
                apagar.IDSituacao      = 1;
                apagar.Situacao        = "Em Aberto";

                // Update APAGAR
                UpdateAPagar(apagar, dbTran);

                dbTran.CommitTransaction();

                return(true);
            }
            catch (Exception ex)
            {
                dbTran.RollBackTransaction();
                throw ex;
            }
        }
Example #2
0
        // PAGAR LIST OF COMISSAO AND CHANGE SITUATION
        //------------------------------------------------------------------------------------------------------------
        public long ComissoesPagamento(
            List <objComissao> list,
            objDespesaComum despesa,
            objAPagar pagar,
            objMovimentacao saida,
            Action <int, decimal> ContaSldLocalUpdate,
            Action <int, decimal> SetorSldLocalUpdate)
        {
            AcessoDados dbTran = null;

            try
            {
                dbTran = new AcessoDados();
                dbTran.BeginTransaction();

                // insert new Despesa Realizada | Gasto
                var  despBLL = new DespesaComumBLL();
                long newID   = despBLL.InsertDespesaRealizada(despesa, pagar, saida, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran);

                // update all comissoes to PAGO
                string query = "UPDATE tblComissoes SET " +
                               "IDSituacao = 3, " +
                               "IDDespesa = @IDDespesa " +
                               "WHERE IDComissao = @IDComissao";

                foreach (var comissao in list)
                {
                    dbTran.LimparParametros();
                    dbTran.AdicionarParametros("@IDDespesa", newID);
                    dbTran.AdicionarParametros("@IDComissao", comissao.IDComissao);

                    dbTran.ExecutarManipulacao(CommandType.Text, query);
                }

                dbTran.CommitTransaction();

                return(newID);
            }
            catch (Exception ex)
            {
                dbTran.RollBackTransaction();
                throw ex;
            }
        }
        // GET LIST DESPESA RELACIONADA WITH PROVISORIA
        //------------------------------------------------------------------------------------------------------------
        public List <objDespesa> GetDespesasRealizado(int IDProvisorio, object dbTran = null)
        {
            try
            {
                AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran;

                string query = "SELECT * FROM qryDespesaComum ";

                // add params
                db.LimparParametros();

                db.AdicionarParametros("@IDProvisorio", IDProvisorio);

                query += "WHERE IDDespesa IN (SELECT IDDespesa FROM tblDespesaProvisoriaRealizado WHERE IDProvisorio = @IDProvisorio)";
                query += " ORDER BY IDDespesa";

                List <objDespesa> listagem = new List <objDespesa>();
                DataTable         dt       = db.ExecutarConsulta(CommandType.Text, query);

                if (dt.Rows.Count == 0)
                {
                    return(listagem);
                }

                DespesaComumBLL dBLL = new DespesaComumBLL();

                foreach (DataRow row in dt.Rows)
                {
                    listagem.Add(dBLL.ConvertRowInClass(row));
                }

                return(listagem);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        // DELETE
        //------------------------------------------------------------------------------------------------------------
        public bool DeleteDespesaPeriodica(objDespesaPeriodica periodica)
        {
            AcessoDados dbTran = null;

            //--- get despesa from periodica
            objDespesaComum despesa = new objDespesaComum(periodica.IDDespesa)
            {
                DespesaDescricao = periodica.DespesaDescricao,
                DespesaOrigem    = periodica.DespesaOrigem,
                DespesaValor     = periodica.DespesaValor,
                DespesaData      = periodica.DespesaData,
                IDCredor         = periodica.IDCredor,
                IDSetor          = periodica.IDSetor,
                IDDespesaTipo    = periodica.IDDespesaTipo,
            };

            try
            {
                dbTran = new AcessoDados();
                dbTran.BeginTransaction();

                // 1 - CHECK APagar and Movimentacao Saida
                //------------------------------------------------------------------------------------------------------------
                List <objAPagar>       listAPagar    = new List <objAPagar>();
                List <objMovimentacao> listMovSaidas = new List <objMovimentacao>();

                DespesaComumBLL dBLL = new DespesaComumBLL();

                if (!dBLL.VerifyBeforeDelete(despesa, ref listAPagar, ref listMovSaidas, dbTran))
                {
                    return(false);
                }

                // 2 - delete ALL APAGAR
                //------------------------------------------------------------------------------------------------------------
                if (listAPagar.Count > 0)
                {
                    APagarBLL pBLL = new APagarBLL();

                    foreach (objAPagar pagar in listAPagar)
                    {
                        pBLL.DeleteAPagar(pagar, dbTran);
                    }
                }

                // 3 - delete DESPESA COMUM
                //------------------------------------------------------------------------------------------------------------

                //--- define Params
                dbTran.LimparParametros();
                dbTran.AdicionarParametros("@IDDespesa", despesa.IDDespesa);
                dbTran.ConvertNullParams();

                //--- create query
                string query = "DELETE tblDespesaPeriodica WHERE IDDespesa = @IDDespesa";

                //--- DELETE
                dbTran.ExecutarManipulacao(CommandType.Text, query);

                // 4 - delete DESPESA DATA PERIODO
                //------------------------------------------------------------------------------------------------------------

                //--- define Params
                dbTran.LimparParametros();
                dbTran.AdicionarParametros("@IDDespesa", despesa.IDDespesa);
                dbTran.ConvertNullParams();

                //--- create query
                query = "DELETE tblDespesaDataPeriodo WHERE IDDespesa = @IDDespesa";

                //--- DELETE
                dbTran.ExecutarManipulacao(CommandType.Text, query);

                // 5 - delete DESPESA
                //------------------------------------------------------------------------------------------------------------

                //--- define Params
                dbTran.LimparParametros();
                dbTran.AdicionarParametros("@IDDespesa", despesa.IDDespesa);
                dbTran.ConvertNullParams();

                //--- create query
                query = "DELETE tblDespesa WHERE IDDespesa = @IDDespesa";

                //--- DELETE
                dbTran.ExecutarManipulacao(CommandType.Text, query);

                // 7 - COMMIT AND RETURN
                //------------------------------------------------------------------------------------------------------------
                dbTran.CommitTransaction();
                return(true);
            }
            catch (AppException ex)
            {
                dbTran.RollBackTransaction();
                throw ex;
            }
            catch (Exception ex)
            {
                dbTran.RollBackTransaction();
                throw ex;
            }
        }