Exemple #1
0
        // INSERT CONTRIBUICAO CHEQUE
        //------------------------------------------------------------------------------------------------------------
        private void AddContribuicaoCheque(objContribuicaoCheque cheque, AcessoDados dbTran)
        {
            try
            {
                //--- clear Params
                dbTran.LimparParametros();

                //--- define Params
                dbTran.AdicionarParametros("@IDContribuicao", cheque.IDContribuicao);
                dbTran.AdicionarParametros("@ChequeNumero", cheque.ChequeNumero);
                dbTran.AdicionarParametros("@DepositoData", cheque.DepositoData);
                dbTran.AdicionarParametros("@IDBanco", cheque.IDBanco);

                //--- convert null parameters
                dbTran.ConvertNullParams();

                string query = dbTran.CreateInsertSQL("tblContribuicaoCheque");

                //--- insert and Get new ID
                dbTran.ExecutarManipulacao(CommandType.Text, query);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #2
0
        private ErrorProvider EP = new ErrorProvider();         // default error provider

        #region SUB NEW | PROPERTIES

        // SUB NEW
        //------------------------------------------------------------------------------------------------------------
        public frmContribuicaoCheque(ref objContribuicaoCheque cheque, Form formOrigem)
        {
            InitializeComponent();

            if (cheque.IDContribuicao != null)
            {
                _cheque = GetCheque((long)cheque.IDContribuicao);
            }
            else
            {
                _cheque = cheque;
            }

            _formOrigem = formOrigem;
            GetBancosList();

            // binding
            bind.DataSource = typeof(objContribuicaoCheque);
            bind.Add(_cheque);
            BindingCreator();

            if (_cheque.IDContribuicao == null)
            {
                Sit = EnumFlagEstado.NovoRegistro;
            }
            else
            {
                Sit = EnumFlagEstado.RegistroSalvo;
            }

            // handlers
            _cheque.PropertyChanged += RegistroAlterado;
            HandlerKeyDownControl(this);
        }
Exemple #3
0
        // INSERT
        //------------------------------------------------------------------------------------------------------------
        public long InsertContribuicao(
            objContribuicao cont,
            Action <int, decimal> ContaSldLocalUpdate,
            Action <int, decimal> SetorSldLocalUpdate,
            object forma = null)
        {
            AcessoDados     db       = new AcessoDados();
            long?           newID    = null;
            long?           newMovID = null;
            objMovimentacao entrada  = null;

            try
            {
                db.BeginTransaction();

                //--- Check Conta Bloqueio
                if (!new ContaBLL().ContaDateBlockPermit(cont.IDConta, cont.ContribuicaoData, db))
                {
                    throw new AppException("A Data da Conta está BLOQUEADA nesta Data de Crédito proposta...", 2);
                }

                switch (cont.IDEntradaForma)
                {
                case 1:                         // DINHEIRO

                    //--- Insert Contribuicao
                    cont.Realizado     = true;
                    cont.ValorRecebido = cont.ValorBruto;
                    newID = AddContribuicao(cont, db);

                    //--- Create NEW Entrada
                    entrada = new objMovimentacao(null)
                    {
                        MovTipo         = 1,
                        IDConta         = cont.IDConta,
                        IDSetor         = cont.IDSetor,
                        IDOrigem        = (long)newID,
                        Origem          = EnumMovOrigem.Contribuicao,
                        MovData         = cont.ContribuicaoData,
                        MovValor        = cont.ValorBruto,
                        Consolidado     = true,
                        DescricaoOrigem = "CONTRIBUIÇÃO: " + cont.OrigemDescricao,
                    };

                    //--- Insert MOVIMENTACAO Entrada
                    new MovimentacaoBLL().InsertMovimentacao(entrada, ContaSldLocalUpdate, SetorSldLocalUpdate, db);

                    break;

                case 2:                         // CHEQUE

                    if (forma == null || forma.GetType() != typeof(objContribuicaoCheque))
                    {
                        throw new Exception("Não há registro de informação do cheque...");
                    }

                    //--- Insert Contribuicao
                    cont.Realizado     = false;
                    cont.ValorRecebido = 0;
                    newID = AddContribuicao(cont, db);
                    cont.IDContribuicao = newID;

                    //--- Insert ContribuicaoCheque
                    objContribuicaoCheque cheque = (objContribuicaoCheque)forma;

                    cheque.IDContribuicao = newID;
                    AddContribuicaoCheque(cheque, db);

                    //--- Create NEW MOVIMENTACAO ENTRADA
                    entrada = new objMovimentacao(null)
                    {
                        MovTipo         = 1,
                        IDConta         = cont.IDConta,
                        IDSetor         = cont.IDSetor,
                        IDOrigem        = (long)newID,
                        Origem          = EnumMovOrigem.Contribuicao,
                        MovData         = cont.ContribuicaoData,
                        MovValor        = cont.ValorBruto,
                        Consolidado     = false,
                        DescricaoOrigem = $"CONTRIBUIÇÃO: Cheque no. {cheque.ChequeNumero} {cheque.Banco}",
                    };

                    //--- Insert MOVIMENTACAO Entrada
                    newMovID = new MovimentacaoBLL().InsertMovimentacao(entrada, ContaSldLocalUpdate, SetorSldLocalUpdate, db);

                    //--- Create AReceber
                    var areceber = new objAReceber(null)
                    {
                        CompensacaoData   = cheque.DepositoData,
                        IDContaProvisoria = cont.IDConta,
                        IDContribuicao    = (long)cont.IDContribuicao,
                        IDSituacao        = 1,
                        Situacao          = "Em Aberto",
                        ValorBruto        = cont.ValorBruto,
                        ValorLiquido      = cont.ValorBruto,
                        ValorRecebido     = 0,
                        IDMovProvisoria   = (long)newMovID,
                    };

                    //--- Insert AReceber Parcela
                    new AReceberBLL().InsertAReceber(areceber, db);

                    break;

                case 3:                         // CARTAO

                    if (forma == null || forma.GetType() != typeof(objContribuicaoCartao))
                    {
                        throw new Exception("Não há registro de informação do cartão...");
                    }

                    //--- Check Conta Bloqueio
                    objContribuicaoCartao cartao = (objContribuicaoCartao)forma;

                    if (!new ContaBLL().ContaDateBlockPermit(cartao.IDContaProvisoria, cont.ContribuicaoData, db))
                    {
                        throw new AppException("A Data da Conta está BLOQUEADA nesta Data de Crédito proposta...", 2);
                    }

                    //--- Insert Contribuicao
                    cont.Realizado     = false;
                    cont.ValorRecebido = 0;
                    newID = AddContribuicao(cont, db);
                    cont.IDContribuicao = newID;

                    //--- Insert ContribuicaoCartao
                    cartao.IDContribuicao = newID;
                    AddContribuicaoCartao(cartao, db);

                    //--- Insert ListOf AReceber
                    var listAReceber = new List <objAReceber>();

                    int parcelas = cartao.Parcelas == 0 ? 1 : cartao.Parcelas;

                    // create PARCELAS
                    for (int i = 0; i < parcelas; i++)
                    {
                        var parcela = new objAReceber(null)
                        {
                            CompensacaoData   = cont.ContribuicaoData.AddDays(cartao.Prazo * (i + 1)),
                            IDContaProvisoria = cartao.IDContaProvisoria,
                            IDContribuicao    = (long)cont.IDContribuicao,
                            IDSituacao        = 1,
                            Situacao          = "Em Aberto",
                            ValorBruto        = cont.ValorBruto / parcelas,
                            ValorLiquido      = (cont.ValorBruto / parcelas) * (100 - cartao.TaxaAplicada) / 100,
                            ValorRecebido     = 0
                        };

                        listAReceber.Add(parcela);
                    }

                    var rBLL = new AReceberBLL();
                    var mBLL = new MovimentacaoBLL();

                    int numParcela = 1;

                    //--- Insert ListOf AReceber Parcelas
                    foreach (var parcela in listAReceber)
                    {
                        //--- Create NEW MOVIMENTACAO Entrada
                        entrada = new objMovimentacao(null)
                        {
                            MovTipo     = 1,
                            IDConta     = parcela.IDContaProvisoria,
                            IDSetor     = cont.IDSetor,
                            IDOrigem    = (long)newID,
                            Origem      = EnumMovOrigem.Contribuicao,
                            MovData     = cont.ContribuicaoData,
                            MovValor    = parcela.ValorBruto,
                            Consolidado = false,
                        };

                        //--- define descricao origem of movimentacao
                        if (cartao.Parcelas == 0)
                        {
                            entrada.DescricaoOrigem = $"CONTRIBUIÇÃO: Cartão de Débito {cartao.CartaoBandeira}";
                        }
                        else if (cartao.Parcelas == 1)
                        {
                            entrada.DescricaoOrigem = $"CONTRIBUIÇÃO: Cartão de Crédito {cartao.CartaoBandeira}";
                        }
                        else
                        {
                            entrada.DescricaoOrigem = $"CONTRIBUIÇÃO: Cartão Parcelado {cartao.CartaoBandeira} parcela {numParcela:D2}";
                        }

                        //--- add Parcela
                        numParcela += 1;

                        //--- Insert Entrada
                        newMovID = mBLL.InsertMovimentacao(entrada, ContaSldLocalUpdate, SetorSldLocalUpdate, db);

                        //--- Insert AReceber
                        parcela.IDMovProvisoria = (long)newMovID;
                        rBLL.InsertAReceber(parcela, db);
                    }

                    break;

                default:
                    break;
                }

                if (newID == 0)
                {
                    throw new Exception("Não foi possível inserir um novo registro de Contribuição...");
                }

                db.CommitTransaction();
                return((long)newID);
            }
            catch (Exception ex)
            {
                db.RollBackTransaction();
                throw ex;
            }
        }