public frmAPagarQuitar(objAPagar pag, Form formOrigem)
        {
            InitializeComponent();

            _formOrigem = formOrigem;
            _apagar     = pag;
            propSaida   = new objMovimentacao(null);

            CarregaComboMes();
            HandlerKeyDownControl(this);
            numSaidaAno.KeyDown += control_KeyDown;
            numSaidaAno.Enter   += Control_Enter;
            numSaidaDia.KeyDown += control_KeyDown;
            numSaidaDia.Enter   += Control_Enter;

            // get default Conta and Setor
            ContaSelected = ContaPadrao();

            // get SETOR
            if (SetorPadrao().IDSetor == pag.IDSetor)
            {
                SetorSelected = SetorPadrao();
            }
            else
            {
                SetorSelected = GetSetor(pag.IDSetor);
            }

            if (ContaSelected == null | SetorSelected == null)
            {
                return;
            }

            DefineValoresIniciais();
        }
Esempio n. 2
0
        private void dgvListagem_MouseDown(object sender, MouseEventArgs e)
        {
            // check button
            if (e.Button != MouseButtons.Right)
            {
                return;
            }

            Control c = (Control)sender;

            DataGridView.HitTestInfo hit = dgvListagem.HitTest(e.X, e.Y);
            dgvListagem.ClearSelection();

            if (hit.Type != DataGridViewHitTestType.Cell)
            {
                return;
            }

            // seleciona o ROW
            dgvListagem.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            dgvListagem.CurrentCell   = dgvListagem.Rows[hit.RowIndex].Cells[2];
            dgvListagem.Rows[hit.RowIndex].Selected = true;

            // mostra o MENU ativar e desativar
            objMovimentacao recItem = (objMovimentacao)dgvListagem.Rows[hit.RowIndex].DataBoundItem;

            // mnuVerPagamentos

            /*
             * switch (recItem.IDSituacao)
             * {
             *      case 1: // EM ABERTO
             *              mnuItemAlterar.Enabled = true;
             *              mnuItemAlterar.Text = "Alterar";
             *              mnuItemCancelar.Enabled = true;
             *              mnuItemNormalizar.Enabled = false;
             *              mnuItemReceber.Enabled = true;
             *              mnuItemEstornar.Enabled = false;
             *              break;
             *      case 2: // RECEBIDAS
             *              mnuItemAlterar.Enabled = false;
             *              mnuItemCancelar.Enabled = false;
             *              mnuItemNormalizar.Enabled = false;
             *              mnuItemReceber.Enabled = false;
             *              mnuItemEstornar.Enabled = true;
             *              break;
             *      case 3: // CANCELADAS
             *              mnuItemAlterar.Enabled = false;
             *              mnuItemCancelar.Enabled = false;
             *              mnuItemNormalizar.Enabled = true;
             *              mnuItemReceber.Enabled = false;
             *              mnuItemEstornar.Enabled = false;
             *              break;
             *      default:
             *              break;
             * }
             */
            // revela menu
            mnuOperacoes.Show(c.PointToScreen(e.Location));
        }
        // INSERT MOVIMENTACAO ACRESCIMO
        //------------------------------------------------------------------------------------------------------------
        private void InsertMovimentacaoAcrescimo(objMovimentacao mov, AcessoDados dbTran)
        {
            try
            {
                //--- clear Params
                dbTran.LimparParametros();

                //--- define Params
                dbTran.AdicionarParametros("@IDMovimentacao", mov.IDMovimentacao);
                dbTran.AdicionarParametros("@AcrescimoValor", mov.AcrescimoValor);
                dbTran.AdicionarParametros("@IDAcrescimoMotivo", mov.IDAcrescimoMotivo);

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

                string query = "INSERT INTO tblMovAcrescimo " +
                               "(IDMovimentacao, AcrescimoValor, IDAcrescimoMotivo) " +
                               "VALUES " +
                               "(@IDMovimentacao, @AcrescimoValor, @IDAcrescimoMotivo)";

                //--- execute INSERT
                dbTran.ExecutarManipulacao(CommandType.Text, query);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        // CONVERT ROW IN CLASS
        //------------------------------------------------------------------------------------------------------------
        public objMovimentacao ConvertRowInClass(DataRow row, bool hasAcrescimo)
        {
            objMovimentacao Movimentacao = new objMovimentacao((long)row["IDMovimentacao"])
            {
                MovTipo          = (byte)row["MovTipo"],        // 1: ENTRADA | 2: SAIDA | 3: TRANSFERENCIA
                MovTipoDescricao = (string)row["MovTipoDescricao"],
                Origem           = (EnumMovOrigem)row["Origem"],
                IDOrigem         = (long)row["IDOrigem"],
                MovData          = (DateTime)row["MovData"],
                MovValor         = (decimal)row["MovValor"],
                MovValorAbsoluto = (decimal)row["MovValorAbsoluto"],
                IDConta          = row["IDConta"] == DBNull.Value ? null : (int?)row["IDConta"],
                Conta            = row["Conta"] == DBNull.Value ? null : (string)row["Conta"],
                IDSetor          = row["IDSetor"] == DBNull.Value ? null : (int?)row["IDSetor"],
                Setor            = row["Setor"] == DBNull.Value ? null : (string)row["Setor"],
                IDCaixa          = row["IDCaixa"] == DBNull.Value ? null : (long?)row["IDCaixa"],
                DescricaoOrigem  = (string)row["DescricaoOrigem"],
                Consolidado      = (bool)row["Consolidado"],
            };

            if (hasAcrescimo)             // ADD ACRESCIMO and IMAGEM
            {
                Movimentacao.AcrescimoValor        = row["AcrescimoValor"] == DBNull.Value ? null : (decimal?)row["AcrescimoValor"];
                Movimentacao.AcrescimoMotivo       = row["AcrescimoMotivo"] == DBNull.Value ? string.Empty : (string)row["AcrescimoMotivo"];
                Movimentacao.IDAcrescimoMotivo     = row["IDAcrescimoMotivo"] == DBNull.Value ? null : (byte?)row["IDAcrescimoMotivo"];
                Movimentacao.Imagem.ImagemPath     = row["ImagemPath"] == DBNull.Value ? string.Empty : (string)row["ImagemPath"];
                Movimentacao.Imagem.ImagemFileName = row["ImagemFileName"] == DBNull.Value ? string.Empty : (string)row["ImagemFileName"];
            }

            return(Movimentacao);
        }
Esempio n. 5
0
        // ESTORNAR
        private void btnEstornar_Click(object sender, EventArgs e)
        {
            //--- check selecteded item
            if (dgvListagem.SelectedRows.Count == 0)
            {
                AbrirDialog("Favor selecionar um registro de Pagamento para Estornar...",
                            "Selecionar Registro", DialogType.OK, DialogIcon.Information);
                return;
            }

            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                //--- verifica USER PERMIT
                if (!CheckAuthorization(EnumAcessoTipo.Usuario_Senior, $"Estornar a Saída de APagar", this))
                {
                    return;
                }

                //--- Pergunta ao USER
                objMovimentacao saida = (objMovimentacao)dgvListagem.SelectedRows[0].DataBoundItem;

                var resp = AbrirDialog($"Você deseja realmente ESTORNAR este registro de PAGAMENTO selecionado?\n" +
                                       $"DATA: {saida.MovData.ToShortDateString()}\nVALOR: {saida.MovValorAbsoluto:c}\n{saida.Conta}", "Estornar Pagamento",
                                       DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second);

                if (resp == DialogResult.No)
                {
                    return;
                }

                // EXECUTE
                pBLL.EstornarAPagar(_apagar, saida, ContaSaldoLocalUpdate, SetorSaldoLocalUpdate);

                // binding
                bindSaida.RemoveCurrent();
                DefineValueLabels();

                // MESSAGE
                AbrirDialog("Pagamento Estornado com sucesso...", "Estorno");
                btnQuitar.Enabled           = true;
                btnConcederDesconto.Enabled = true;
            }
            catch (AppException ex)
            {
                AbrirDialog("Estorno não pôde ser realizado...\n" + ex.Message, "Conta Data Bloqueada", DialogType.OK, DialogIcon.Information);
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Estornar Pagamento..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 6
0
        private void mnuImagemVisualizar_Click(object sender, EventArgs e)
        {
            //--- check selected item
            if (dgvListagem.SelectedRows.Count == 0)
            {
                AbrirDialog("Favor selecionar um registro para Visualizar Imagem...",
                            "Selecionar Registro", DialogType.OK, DialogIcon.Information);
                return;
            }

            //--- get Selected item
            objMovimentacao item = (objMovimentacao)dgvListagem.SelectedRows[0].DataBoundItem;

            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;
                ImagemUtil.ImagemVisualizar(item.Imagem);
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Visualizar a imagem..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 7
0
        //--- MENU VER ORIGEM
        //-------------------------------------------------------------------------------------------------------
        private void mnuItemVerOrigem_Click(object sender, EventArgs e)
        {
            //--- verifica se existe alguma cell
            if (dgvListagem.SelectedRows.Count == 0)
            {
                return;
            }

            //--- Get A Pagar on list
            objMovimentacao item = (objMovimentacao)dgvListagem.SelectedRows[0].DataBoundItem;

            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                /*
                 * Entradas.frmContribuicao frm = new Entradas.frmContribuicao(item.IDContribuicao);
                 * Visible = false;
                 * frm.ShowDialog();
                 * DesativaMenuPrincipal();
                 * Visible = true;
                 */
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Abrir a Origem..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 8
0
        // QUITAR A PAGAR AND INSERT NEW SAIDA
        //------------------------------------------------------------------------------------------------------------
        public long QuitarAPagar(
            objAPagar apagar,
            objMovimentacao saida,
            Action <int, decimal> ContaSldLocalUpdate,
            Action <int, decimal> SetorSldLocalUpdate)
        {
            AcessoDados dbTran = null;

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

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

                decimal saldoAtual = cBLL.ContaSaldoGet((int)saida.IDConta, dbTran);

                if (Math.Abs(saida.MovValor) > saldoAtual)
                {
                    throw new AppException("Não existe SALDO SUFICIENTE na conta para realizar esse débito...", 1);
                }

                // Verifica CONTA BLOQUEIO
                if (!cBLL.ContaDateBlockPermit((int)saida.IDConta, saida.MovData, dbTran))
                {
                    throw new AppException("A Data da Conta está BLOQUEADA nesta Data de Débito proposto...", 2);
                }

                // Inserir SAIDA
                saida.DescricaoOrigem = apagar.DespesaDescricao;
                long newID = new MovimentacaoBLL().InsertMovimentacao(saida, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran);
                saida.IDMovimentacao = newID;

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

                apagar.ValorAcrescimo += saida.AcrescimoValor ?? 0;
                apagar.ValorPago      += DoValor;
                if (apagar.ValorPago >= apagar.APagarValor - apagar.ValorDesconto)
                {
                    apagar.PagamentoData = saida.MovData;
                    apagar.IDSituacao    = 2;
                    apagar.Situacao      = "Quitada";
                }

                // Update APAGAR
                UpdateAPagar(apagar, dbTran);

                dbTran.CommitTransaction();

                return(newID);
            }
            catch (Exception ex)
            {
                dbTran.RollBackTransaction();
                throw ex;
            }
        }
Esempio n. 9
0
        // INSERT ENTRADA | ARECEBER CHEQUE
        //------------------------------------------------------------------------------------------------------------
        private objAReceber insertAReceberCheque(
            objAReceber receber,
            objMovimentacao entrada,
            Action <int, decimal> contaSaldoUpdate,
            AcessoDados dbTran)
        {
            // create TRANSFER SAIDA
            objMovimentacao transfSaida = new objMovimentacao(null)
            {
                MovTipo         = 3,                      // TRANSFERENCIA
                Origem          = EnumMovOrigem.AReceber, // tblAReceber
                IDOrigem        = (long)receber.IDAReceber,
                IDConta         = receber.IDContaProvisoria,
                IDSetor         = null,
                MovData         = entrada.MovData,
                MovValor        = entrada.MovValor * (-1),
                DescricaoOrigem = "TRANSFERÊNCIA: Depósito de Cheque",
            };

            // create TRANSFER ENTRADA
            objMovimentacao transfEntrada = new objMovimentacao(null)
            {
                MovTipo         = 3,                      // TRANSFERENCIA
                Origem          = EnumMovOrigem.AReceber, // tblAReceber
                IDOrigem        = (long)receber.IDAReceber,
                IDConta         = entrada.IDConta,
                IDSetor         = null,
                MovData         = entrada.MovData,
                MovValor        = entrada.MovValor,
                DescricaoOrigem = "TRANSFERÊNCIA: Compensação de Cheque",
            };

            try
            {
                MovimentacaoBLL mBLL = new MovimentacaoBLL();

                // Update FIRST Entrada: CONSOLIDADO = TRUE
                mBLL.UpdateConsolidado(receber.IDMovProvisoria, true, dbTran);

                // Insert transf saida
                mBLL.InsertMovimentacao(transfSaida, contaSaldoUpdate, null, dbTran);

                // Insert transf entrada
                mBLL.InsertMovimentacao(transfEntrada, contaSaldoUpdate, null, dbTran);

                // update AReceber
                UpdateAReceber(receber, dbTran);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(receber);
        }
Esempio n. 10
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;
            }
        }
        // INSERT
        //------------------------------------------------------------------------------------------------------------
        public long InsertEntrada(
            objEntrada cont,
            Action <int, decimal> ContaSldLocalUpdate,
            Action <int, decimal> SetorSldLocalUpdate)
        {
            AcessoDados     db      = new AcessoDados();
            long?           newID   = null;
            objMovimentacao entrada = null;

            try
            {
                db.BeginTransaction();

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

                //--- Insert Entrada
                newID = AddEntrada(cont, db);

                //--- Create NEW Entrada
                entrada = new objMovimentacao(null)
                {
                    MovTipo         = 1,
                    IDConta         = cont.IDConta,
                    IDSetor         = cont.IDSetor,
                    IDOrigem        = (long)newID,
                    Origem          = EnumMovOrigem.Entrada,
                    MovData         = cont.EntradaData,
                    MovValor        = cont.EntradaValor,
                    Consolidado     = true,
                    DescricaoOrigem = "ENTRADA: " + cont.EntradaOrigem.OrigemDescricao,
                };

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

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

                db.CommitTransaction();
                return((long)newID);
            }
            catch (Exception ex)
            {
                db.RollBackTransaction();
                throw ex;
            }
        }
Esempio n. 12
0
        // CONTROLA AS CORES DA LISTAGEM
        //------------------------------------------------------------------------------------------------------------
        private void dgvListagem_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if (e.ColumnIndex == clnMovTipoDescricao.Index)
            {
                objMovimentacao mov = (objMovimentacao)dgvListagem.Rows[e.RowIndex].DataBoundItem;

                if (mov.MovTipoDescricao == "SAÍDA")
                {
                    dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor          = Color.MistyRose;
                    dgvListagem.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor = Color.Firebrick;
                    e.CellStyle.ForeColor          = Color.Red;
                    e.CellStyle.SelectionForeColor = Color.Yellow;
                }
                else if (mov.MovTipoDescricao == "ENTRADA")
                {
                    dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor          = Color.FromArgb(227, 231, 234);
                    dgvListagem.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor = SystemColors.Highlight;
                }
                else if (mov.MovTipoDescricao == "TRANSFERÊNCIA")
                {
                    dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor          = Color.Honeydew;
                    dgvListagem.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor = Color.DarkSeaGreen;
                    //dgvListagem.Rows[e.RowIndex].DefaultCellStyle.Font = clnFont;
                    e.CellStyle.Font               = clnFont;
                    e.CellStyle.ForeColor          = Color.DarkGreen;
                    e.CellStyle.SelectionForeColor = Color.Honeydew;
                }
            }
            else if (e.ColumnIndex == clnValorReal.Index)
            {
                objMovimentacao mov = (objMovimentacao)dgvListagem.Rows[e.RowIndex].DataBoundItem;

                if (mov.MovValor >= 0)
                {
                    e.CellStyle.ForeColor          = Color.DarkBlue;
                    e.CellStyle.SelectionForeColor = Color.White;
                    e.CellStyle.Alignment          = DataGridViewContentAlignment.MiddleRight;
                }
                else
                {
                    e.CellStyle.ForeColor          = Color.Red;
                    e.CellStyle.SelectionForeColor = Color.Yellow;
                    e.CellStyle.Alignment          = DataGridViewContentAlignment.MiddleRight;
                }
            }
            else if (e.ColumnIndex == clnDescricaoOrigem.Index)
            {
                e.CellStyle.Font     = clnFont;
                e.CellStyle.WrapMode = DataGridViewTriState.False;
            }
        }
Esempio n. 13
0
        //--- OPEN FORM ORIGEM --> CONTRIBUICAO
        //-------------------------------------------------------------------------------------------------------
        private void VerOrigemContribuicao(objMovimentacao item)
        {
            try
            {
                //--- open CONTRIBUICAO form
                var frm = new Contribuicao.frmContribuicao(item.IDOrigem, this);
                frm.ShowDialog();

                //--- get DATA
                ObterDados();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 14
0
        private void mnuImagemRemover_Click(object sender, EventArgs e)
        {
            //--- check selected item
            if (dgvListagem.SelectedRows.Count == 0)
            {
                AbrirDialog("Favor selecionar um registro para Visualizar Imagem...",
                            "Selecionar Registro", DialogType.OK, DialogIcon.Information);
                return;
            }

            //--- get Selected item
            objMovimentacao item = (objMovimentacao)dgvListagem.SelectedRows[0].DataBoundItem;

            DialogResult resp;

            resp = AbrirDialog("Deseja realmente REMOVER ou DESASSOCIAR a imagem da Movimentação de Saída selecionada?" +
                               "\nA imagem não será excluída mas movida para pasta de Imagens Removidas...",
                               "Remover Imagem", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second);

            if (resp != DialogResult.Yes)
            {
                return;
            }

            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                //_despesa.Imagem.ReferenceDate = _despesa.DespesaData;
                item.Imagem = ImagemUtil.ImagemRemover(item.Imagem);

                AbrirDialog("Imagem desassociada com sucesso!" +
                            "\nPor segurança a imagem foi guardada na pasta de Imagens Removidas.",
                            "Imagem Removida", DialogType.OK, DialogIcon.Information);
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Remover a imagem..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 15
0
        //--- OPEN FORM ORIGEM --> ARECEBER
        //-------------------------------------------------------------------------------------------------------
        private void VerOrigemAReceber(objMovimentacao item)
        {
            try
            {
                //--- get ARECEBER object
                objAReceber receber = new AReceberBLL().GetAReceber(item.IDOrigem);

                AbrirDialog("Movimentação de Entrada de AReceber:\n\n" +
                            $"Forma de Entrada: {receber.EntradaForma.ToUpper()}\n" +
                            $"Data de Compensação: {receber.CompensacaoData:d}\n" +
                            $"Data de Entrada: {item.MovData:d}\n" +
                            $"Valor Recebido: {receber.ValorRecebido:c}", "Entrada de AReceber");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 16
0
        private void dgvListagem_MouseDown(object sender, MouseEventArgs e)
        {
            // check button
            if (e.Button != MouseButtons.Right)
            {
                return;
            }

            Control c = (Control)sender;

            DataGridView.HitTestInfo hit = dgvListagem.HitTest(e.X, e.Y);
            dgvListagem.ClearSelection();

            if (hit.Type != DataGridViewHitTestType.Cell)
            {
                return;
            }

            // seleciona o ROW
            dgvListagem.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            dgvListagem.CurrentCell   = dgvListagem.Rows[hit.RowIndex].Cells[2];
            dgvListagem.Rows[hit.RowIndex].Selected = true;

            // mostra o MENU ativar e desativar
            objMovimentacao mov = (objMovimentacao)dgvListagem.Rows[hit.RowIndex].DataBoundItem;

            // mnuImagem
            if (mov.IDMovimentacao != null)
            {
                mnuImagem.Enabled = true;
                bool IsThereImagem = mov.Imagem != null && !string.IsNullOrEmpty(mov.Imagem.ImagemFileName);

                mnuImagemRemover.Enabled    = IsThereImagem;
                mnuImagemInserir.Text       = IsThereImagem ? "Alterar Imagem" : "Inserir Imagem";
                mnuImagemVisualizar.Enabled = IsThereImagem;
            }
            else
            {
                mnuImagem.Enabled = false;
            }

            // revela menu
            mnuOperacoes.Show(c.PointToScreen(e.Location));
        }
Esempio n. 17
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;
            }
        }
        // DEFINE SAIDA TO SAVE
        //------------------------------------------------------------------------------------------------------------
        private objMovimentacao DefineSaida(DateTime PagData, int IDContaEscolhida, int IDSetorEscolhido, decimal Total, string obs)
        {
            var saida = new objMovimentacao(null)
            {
                IDConta         = IDContaEscolhida,
                IDSetor         = IDSetorEscolhido,
                MovTipo         = 2,
                AcrescimoValor  = 0,
                IDCaixa         = null,
                Origem          = EnumMovOrigem.APagar,
                Observacao      = obs,
                MovData         = PagData,
                MovValor        = Total,
                DescricaoOrigem = "COMISSAO: ",
                Consolidado     = true,
            };

            return(saida);
        }
Esempio n. 19
0
        //--- OPEN FORM ORIGEM --> TRANSFERENCIA DE CONTA
        //-------------------------------------------------------------------------------------------------------
        private void VerOrigemTransferenciaConta(objMovimentacao item)
        {
            try
            {
                //--- get APAGAR object
                objTransfConta transfConta = new TransfContaBLL().GetTransfContaByID(item.IDOrigem);

                //--- open APAGAR form
                var frm = new Transferencias.frmTransferencia(transfConta, this);
                frm.ShowDialog();

                //--- get DATA
                ObterDados();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 20
0
        //--- OPEN FORM ORIGEM --> APAGAR
        //-------------------------------------------------------------------------------------------------------
        private void VerOrigemAPagar(objMovimentacao item)
        {
            try
            {
                //--- get APAGAR object
                objAPagar pagar = new APagarBLL().GetAPagar(item.IDOrigem);

                //--- open APAGAR form
                APagar.frmAPagarSaidas frm = new APagar.frmAPagarSaidas(pagar, this);
                frm.ShowDialog();

                //--- get DATA
                ObterDados();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        // INSERT TRANSFERENCIA SETOR
        //------------------------------------------------------------------------------------------------------------
        public long InsertTransferenciaSetor(objTransfSetor Transf, Action <int, decimal> SetorSdlUpdate)
        {
            AcessoDados db = null;

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

                //--- 1. INSERT TRANSF SETOR
                //------------------------------------------------------------------------------------------------------------

                //--- clear Params
                db.LimparParametros();

                //--- params
                db.AdicionarParametros("@IDSetorEntrada", Transf.IDSetorEntrada);
                db.AdicionarParametros("@IDSetorSaida", Transf.IDSetorSaida);
                db.AdicionarParametros("@Descricao", Transf.Descricao);
                db.AdicionarParametros("@TransfData", Transf.TransfData);
                db.AdicionarParametros("@TransfValor", Transf.TransfValor);

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

                //--- create insert string
                string query = db.CreateInsertSQL("tblTransfSetor");

                //--- insert and Get new ID
                long newID = db.ExecutarInsertAndGetID(query);

                //--- 2. INSERT TRANSF ENTRADA
                //------------------------------------------------------------------------------------------------------------

                MovimentacaoBLL mBLL = new MovimentacaoBLL();

                //--- create transferencia de entrada
                objMovimentacao entrada = new objMovimentacao(null)
                {
                    IDSetor         = Transf.IDSetorEntrada,
                    IDCaixa         = null,
                    IDConta         = null,
                    Origem          = EnumMovOrigem.TransfSetor,
                    IDOrigem        = newID,
                    MovData         = Transf.TransfData,
                    MovValor        = Transf.TransfValor,
                    DescricaoOrigem = $"TRANSFERÊNCIA: entrada de {Transf.SetorSaida}",
                };

                //--- execute INSERT ENTRADA MOVIMENTACAO
                mBLL.InsertMovimentacao(entrada, SetorSdlUpdate, null, db);

                //--- 3. INSERT TRANSF SAIDA
                //------------------------------------------------------------------------------------------------------------

                //--- create transferencia de entrada
                objMovimentacao saida = new objMovimentacao(null)
                {
                    IDSetor         = Transf.IDSetorSaida,
                    IDCaixa         = null,
                    IDConta         = null,
                    Origem          = EnumMovOrigem.TransfSetor,
                    IDOrigem        = newID,
                    MovData         = Transf.TransfData,
                    MovValor        = Transf.TransfValor * (-1),
                    DescricaoOrigem = $"TRANSFERÊNCIA: saída para {Transf.SetorEntrada}",
                };

                //--- execute INSERT SAIDA MOVIMENTACAO
                mBLL.InsertMovimentacao(entrada, null, SetorSdlUpdate, db);

                //--- COMMIT and RETURN
                db.CommitTransaction();
                return(newID);
            }
            catch (Exception ex)
            {
                db.RollBackTransaction();
                throw ex;
            }
        }
        // CRIAR DESPESA DE PAGAMENTO | SAIDA
        //------------------------------------------------------------------------------------------------------------
        private void PagarComissoesSelected()
        {
            // create list of selected comissao
            //---------------------------------------------------------------------
            List <objComissao> selected = new List <objComissao>();

            foreach (DataGridViewRow row in dgvListagem.Rows)
            {
                bool marked = row.Cells[0].Value == null ? false : (bool)row.Cells[0].Value;

                if (marked)
                {
                    selected.Add((objComissao)row.DataBoundItem);
                }
            }

            // check same colaborador
            //---------------------------------------------------------------------
            if (selected.GroupBy(x => x.IDCredor).Count() > 1)
            {
                AbrirDialog("As Comissões selecionadas pertencem a diversos COLABORADORES diferentes..." +
                            "\nAs Comissões selecionadas devem ser de um ÚNICO Colaborador." +
                            "\nFavor selecionar comissões do mesmo colaborador."
                            , "Diversos Colaboradores", DialogType.OK, DialogIcon.Exclamation);
                return;
            }

            // check total
            //---------------------------------------------------------------------
            decimal total = selected.Sum(x => x.ValorComissao);

            // --- ask USER
            //---------------------------------------------------------------------
            string mesage = nItemsSelected > 1 ? $"das {nItemsSelected:00} Comissões selecionadas?" : "da Comissão selecionada?";

            var resp = AbrirDialog("Você deseja realmente REALIZAR O PAGAMENTO " + mesage +
                                   $"\n\nCOLABORADOR: {selected[0].Credor}" +
                                   $"\nVALOR TOTAL: {total:C}",
                                   "Quitar Comissões",
                                   DialogType.SIM_NAO,
                                   DialogIcon.Question,
                                   DialogDefaultButton.Second);

            if (resp != DialogResult.Yes)
            {
                return;
            }

            try
            {
                // open form to get info: CONTA and DATE
                var frm = new frmComissaoQuitarInfo(selected[0], total, this);
                frm.ShowDialog();

                if (frm.DialogResult != DialogResult.OK)
                {
                    return;
                }

                // create apagar and saida
                objDespesaComum despesa = DefineDespesa(selected, frm.propDataEscolhida, total);
                objAPagar       pagar   = DefineAPagar(selected, frm.propDataEscolhida, total);
                objMovimentacao saida   = DefineSaida(
                    frm.propDataEscolhida,
                    (int)frm.propContaEscolhida.IDConta,
                    selected[0].IDSetor,
                    total,
                    frm.propObservacao);

                // create Gasto: Despesa quitada
                long newID = cBLL.ComissoesPagamento
                             (
                    selected,
                    despesa,
                    pagar,
                    saida,
                    ContaSaldoLocalUpdate,
                    SetorSaldoLocalUpdate
                             );

                ObterDados();

                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                //--- message
                resp = AbrirDialog("Pagamento efetuado com sucesso na conta e data informados..." +
                                   "\nDeseja CONFERIR a Despesa criada?",
                                   "Sucesso",
                                   DialogType.SIM_NAO,
                                   DialogIcon.Question,
                                   DialogDefaultButton.Second);

                if (resp == DialogResult.Yes)
                {
                    var frmGt = new Saidas.frmGasto(newID);
                    frmGt.MdiParent = Application.OpenForms[0];
                    Close();
                    frmGt.Show();
                }
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Efetuar a Finalização das Comissões Selecionadas..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 23
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;
            }
        }
        // INSERT
        //------------------------------------------------------------------------------------------------------------
        public long InsertMovimentacao(
            objMovimentacao mov,
            Action <int, decimal> ContaSdlUpdate,
            Action <int, decimal> SetorSdlUpdate,
            object dbTran = null)
        {
            AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran;

            try
            {
                if (dbTran == null)
                {
                    db.BeginTransaction();
                }

                //--- Check DescricaoOrigem
                if (string.IsNullOrEmpty(mov.DescricaoOrigem))
                {
                    throw new AppException("A Descrição da origem não pode estar vazia...");
                }

                //--- 1. Check if is SAIDA and check Positive Value
                //------------------------------------------------------------------------------------------------------------
                if (mov.MovTipo == 2 && mov.MovValor > 0)
                {
                    mov.MovValor *= -1;
                }

                //--- clear Params
                db.LimparParametros();

                //--- define Params
                db.AdicionarParametros("@MovTipo", mov.MovTipo);
                db.AdicionarParametros("@Origem", mov.Origem);
                db.AdicionarParametros("@IDOrigem", mov.IDOrigem);
                db.AdicionarParametros("@MovData", mov.MovData);
                db.AdicionarParametros("@MovValor", mov.MovValor);
                db.AdicionarParametros("@IDConta", mov.IDConta);
                db.AdicionarParametros("@IDSetor", mov.IDSetor);
                db.AdicionarParametros("@DescricaoOrigem", mov.DescricaoOrigem);
                db.AdicionarParametros("@Consolidado", mov.Consolidado);
                db.AdicionarParametros("@IDCaixa", mov.IDCaixa);

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

                string query = db.CreateInsertSQL("tblMovimentacao");

                //--- insert and Get new ID
                long newID = db.ExecutarInsertAndGetID(query);
                mov.IDMovimentacao = newID;

                //--- insert IN tblMovAcrescimo IF is necessary
                if (mov.AcrescimoValor != null && mov.AcrescimoValor != 0)
                {
                    InsertMovimentacaoAcrescimo(mov, db);
                }

                //--- insert OBSERVACAO
                new ObservacaoBLL().SaveObservacao(1, newID, mov.Observacao, db);

                //--- altera o saldo da CONTA
                if (ContaSdlUpdate != null)
                {
                    new ContaBLL().ContaSaldoChange((int)mov.IDConta, mov.MovValor, db, ContaSdlUpdate);
                }

                //--- altera o saldo do SETOR
                if (SetorSdlUpdate != null && mov.IDSetor != null)
                {
                    new SetorBLL().SetorSaldoChange((int)mov.IDSetor, mov.MovValor, db, SetorSdlUpdate);
                }

                if (dbTran == null)
                {
                    db.CommitTransaction();
                }
                return(newID);
            }
            catch (Exception ex)
            {
                if (dbTran == null)
                {
                    db.RollBackTransaction();
                }
                throw ex;
            }
        }
Esempio n. 25
0
        //--- MENU VER ORIGEM
        //-------------------------------------------------------------------------------------------------------
        private void mnuItemVerOrigem_Click(object sender, EventArgs e)
        {
            //--- verifica se existe alguma cell
            if (dgvListagem.SelectedRows.Count == 0)
            {
                return;
            }

            //--- Get A Pagar on list
            objMovimentacao item = (objMovimentacao)dgvListagem.SelectedRows[0].DataBoundItem;

            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                switch (item.Origem)
                {
                case EnumMovOrigem.Contribuicao:
                    VerOrigemContribuicao(item);
                    break;

                case EnumMovOrigem.AReceber:
                    VerOrigemAReceber(item);
                    break;

                case EnumMovOrigem.APagar:
                    VerOrigemAPagar(item);
                    break;

                case EnumMovOrigem.CaixaAjuste:
                    AbrirDialog($"Ajuste inicial da Conta: {item.Conta.ToUpper()}\n" +
                                $"Valor do Ajuste: {item.MovValorAbsoluto:c}\n" +
                                $"Data do Ajuste: {item.MovData:d}",
                                "Ajuste Inicial Informação");
                    break;

                case EnumMovOrigem.TransfConta:
                    VerOrigemTransferenciaConta(item);
                    break;

                case EnumMovOrigem.TransfSetor:
                    AbrirDialog("Ainda não foi implementado...",
                                "", DialogType.OK, DialogIcon.Exclamation);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Abrir a Origem..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 26
0
        // CRIAR DESPESA DE PAGAMENTO | SAIDA
        //------------------------------------------------------------------------------------------------------------
        private void PagarComissao()
        {
            // create list of comissao
            //---------------------------------------------------------------------
            List <objComissao> selected = new List <objComissao>();

            selected.Add(_comissao);

            // check total
            //---------------------------------------------------------------------
            decimal total = _comissao.ValorComissao;

            // --- ask USER
            //---------------------------------------------------------------------
            var resp = AbrirDialog("Você deseja realmente REALIZAR O PAGAMENTO da Comissão selecionada?" +
                                   $"\n\nCOLABORADOR: {_comissao.Credor}" +
                                   $"\nVALOR TOTAL: {total:C}",
                                   "Quitar Comissões",
                                   DialogType.SIM_NAO,
                                   DialogIcon.Question,
                                   DialogDefaultButton.Second);

            if (resp != DialogResult.Yes)
            {
                return;
            }

            try
            {
                // open form to get info: CONTA and DATE
                var frm = new frmComissaoQuitarInfo(selected[0], total, this);
                frm.ShowDialog();

                if (frm.DialogResult != DialogResult.OK)
                {
                    return;
                }

                // create apagar and saida
                objDespesaComum despesa = DefineDespesa(selected, frm.propDataEscolhida, total);
                objAPagar       pagar   = DefineAPagar(selected, frm.propDataEscolhida, total);
                objMovimentacao saida   = DefineSaida(
                    frm.propDataEscolhida,
                    (int)frm.propContaEscolhida.IDConta,
                    selected[0].IDSetor,
                    total,
                    frm.propObservacao);

                // create Gasto: Despesa quitada
                long newID = cBLL.ComissoesPagamento
                             (
                    selected,
                    despesa,
                    pagar,
                    saida,
                    ContaSaldoLocalUpdate,
                    SetorSaldoLocalUpdate
                             );

                _comissao.IDDespesa  = newID;
                _comissao.IDSituacao = 3;
                _comissao.EndEdit();
                DefineSituacao();

                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                //--- message
                resp = AbrirDialog("Pagamento efetuado com sucesso na conta e data informados..." +
                                   "\nDeseja CONFERIR a Despesa criada?",
                                   "Sucesso",
                                   DialogType.SIM_NAO,
                                   DialogIcon.Question,
                                   DialogDefaultButton.Second);

                if (resp == DialogResult.Yes)
                {
                    var frmGt = new Saidas.frmGasto(newID);
                    frmGt.MdiParent = Application.OpenForms[0];
                    Close();
                    frmGt.Show();
                }
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Efetuar a Finalização das Comissões Selecionadas..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 27
0
        // INSERT DESPESA REALIZADA | GASTO | DESPESA QUITADA
        //------------------------------------------------------------------------------------------------------------
        public long InsertDespesaRealizada(
            objDespesaComum despesa,
            objAPagar pagar,
            objMovimentacao saida,
            Action <int, decimal> ContaSldLocalUpdate,
            Action <int, decimal> SetorSldLocalUpdate,
            object dbTran = null)
        {
            bool IsTran = dbTran != null;

            try
            {
                // create transaction
                if (!IsTran)
                {
                    dbTran = new AcessoDados();
                }
                if (!IsTran)
                {
                    ((AcessoDados)dbTran).BeginTransaction();
                }

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

                decimal saldoAtual = cBLL.ContaSaldoGet((int)saida.IDConta, dbTran);

                if (saida.MovValor > saldoAtual)
                {
                    throw new AppException("Não existe SALDO SUFICIENTE na conta para realizar esse débito...", 1);
                }

                // Verifica CONTA BLOQUEIO
                if (!cBLL.ContaDateBlockPermit((int)saida.IDConta, saida.MovData, dbTran))
                {
                    throw new AppException("A Data da Conta está BLOQUEADA nesta Data de Débito proposto...", 2);
                }

                // create APagar list
                List <objAPagar> listPag = new List <objAPagar>();
                listPag.Add(pagar);

                // insert Despesa AND APagar
                despesa.IDSituacao = 2;                 // quitada
                long newID = InsertDespesaComum(despesa, ref listPag, dbTran);

                // insert Saida
                saida.MovTipo         = 2;
                saida.Origem          = EnumMovOrigem.APagar;
                saida.IDOrigem        = (long)listPag[0].IDAPagar;
                saida.DescricaoOrigem = $"DESPESA: {despesa.DespesaDescricao}";
                if (saida.DescricaoOrigem.Length > 250)
                {
                    saida.DescricaoOrigem = saida.DescricaoOrigem.Substring(0, 250);
                }

                new MovimentacaoBLL().InsertMovimentacao(saida, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran);

                // commit and return
                if (!IsTran)
                {
                    ((AcessoDados)dbTran).CommitTransaction();
                }
                return(newID);
            }
            catch (Exception ex)
            {
                if (!IsTran)
                {
                    ((AcessoDados)dbTran).RollBackTransaction();
                }
                throw ex;
            }
        }
        // INSERT AJUSTE
        //------------------------------------------------------------------------------------------------------------
        public objMovimentacao InsertAjuste(
            objCaixaAjuste ajuste,
            Action <int, decimal> ContaSldUpdate,
            Action <int, decimal> SetorSldUpdate,
            long?IDCaixa  = null,
            object dbTran = null)
        {
            AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran;

            try
            {
                if (dbTran == null)
                {
                    db.BeginTransaction();
                }

                // 1. INSERT AJUSTE
                //------------------------------------------------------
                //--- clear Params
                db.LimparParametros();

                //--- define Params
                db.AdicionarParametros("@AjusteDescricao", ajuste.AjusteDescricao);
                db.AdicionarParametros("@IDAjusteTipo", ajuste.IDAjusteTipo);
                db.AdicionarParametros("@IDUserAuth", ajuste.IDUserAuth);

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

                //--- create query
                string query = db.CreateInsertSQL("tblCaixaAjuste");

                //--- insert AJUSTE
                var newID = (int)db.ExecutarInsertAndGetID(query);
                ajuste.IDAjuste = newID;

                // 2. INSERT MOVIMENTACAO
                //------------------------------------------------------
                var movimentacao = new objMovimentacao(null)
                {
                    MovTipo          = ajuste.MovValor >= 0 ? (byte)1 : (byte)2,
                    MovTipoDescricao = ajuste.MovValor >= 0 ? "E" : "S",
                    Consolidado      = true,
                    IDConta          = ajuste.IDConta,
                    IDSetor          = ajuste.IDSetor,
                    Setor            = ajuste.Setor,
                    MovData          = ajuste.MovData,
                    MovValor         = ajuste.MovValor,
                    IDOrigem         = (long)ajuste.IDAjuste,
                    Origem           = EnumMovOrigem.CaixaAjuste,           // origem ajuste
                    DescricaoOrigem  = ajuste.AjusteDescricao,
                    IDCaixa          = IDCaixa,
                };

                //--- insert MOVIMENTACAO
                var movID = new MovimentacaoBLL().InsertMovimentacao(movimentacao, ContaSldUpdate, SetorSldUpdate, dbTran);
                movimentacao.IDMovimentacao = movID;

                // 3. COMMIT AND RETURN
                //------------------------------------------------------
                if (dbTran == null)
                {
                    db.CommitTransaction();
                }

                return(movimentacao);
            }
            catch (Exception ex)
            {
                if (dbTran == null)
                {
                    db.RollBackTransaction();
                }
                throw ex;
            }
        }
Esempio n. 29
0
        private void mnuImagemInserir_Click(object sender, EventArgs e)
        {
            //--- check selected item
            if (dgvListagem.SelectedRows.Count == 0)
            {
                AbrirDialog("Favor selecionar um registro para Inserir Imagem...",
                            "Selecionar Registro", DialogType.OK, DialogIcon.Information);
                return;
            }

            //--- get Selected item
            objMovimentacao item = (objMovimentacao)dgvListagem.SelectedRows[0].DataBoundItem;

            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                objImagem imagem = new objImagem()
                {
                    IDOrigem       = (long)item.IDMovimentacao,
                    Origem         = EnumImagemOrigem.Movimentacao,
                    ImagemFileName = item.Imagem == null ? string.Empty : item.Imagem.ImagemFileName,
                    ImagemPath     = item.Imagem == null ? string.Empty : item.Imagem.ImagemPath,
                    ReferenceDate  = item.MovData,
                };

                // open form to edit or save image
                bool IsNew = item.Imagem == null || string.IsNullOrEmpty(item.Imagem.ImagemPath);
                imagem = ImagemUtil.ImagemGetFileAndSave(imagem, this);

                // check if isUpdated
                bool IsUpdated = false;
                if (item.Imagem != null && imagem != null)
                {
                    IsUpdated = (item.Imagem.ImagemFileName != imagem.ImagemFileName) || (item.Imagem.ImagemPath != imagem.ImagemPath);
                }

                // update imagem object
                item.Imagem = imagem;

                // emit message
                if (IsNew && imagem != null)
                {
                    AbrirDialog("Imagem associada e salva com sucesso!" +
                                "\nPor segurança a imagem foi transferida para a pasta padrão.",
                                "Imagem Salva", DialogType.OK, DialogIcon.Information);
                }
                else if (IsUpdated)
                {
                    AbrirDialog("Imagem alterada com sucesso!" +
                                "\nPor segurança a imagem anterior foi transferida para a pasta de imagens removidas.",
                                "Imagem Alterada", DialogType.OK, DialogIcon.Information);
                }
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao obter a imagem..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
        //=================================================================================================
        // DELETE | REMOVE
        //=================================================================================================

        // REMOVE MOVIMENTACAO (AND ACRESCIMO AND IMAGEM IF NECESSARY)
        //------------------------------------------------------------------------------------------------------------
        public bool DeleteMovimentacao(
            long IDMov,
            Action <int, decimal> ContaSdlUpdate,
            Action <int, decimal> SetorSdlUpdate,
            object dbTran = null)
        {
            AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran;

            try
            {
                if (dbTran == null)
                {
                    db.BeginTransaction();
                }

                //--- get MOVIMENTACAO by ID to discover MOVVALOR
                //------------------------------------------------------------------------------------------------------------
                objMovimentacao mov = GetMovimentacao(IDMov, true, db);

                //--- check MOVIMENTACAO
                //------------------------------------------------------------------------------------------------------------

                //--- 1. Check is Caixa
                if (mov.IDCaixa != null)
                {
                    throw new AppException("A MOVIMENTAÇÃO de CAIXA não pôde ser removida porque já se encontra anexada a um caixa...");
                }

                //--- 2. Check is ContaDateBlock
                if (!new ContaBLL().ContaDateBlockPermit((int)mov.IDConta, mov.MovData))
                {
                    throw new AppException("A MOVIMENTAÇÃO de CAIXA não pode ser removida porque a Data se encontra bloqueada...");
                }

                //--- 3. Check Imagem
                if (mov.Imagem != null && !string.IsNullOrEmpty(mov.Imagem.ImagemFileName))
                {
                    string errMessage = "Favor remover/desassociar as imagens das Saídas se deseja EXCLUIR.";
                    throw new AppException(errMessage);
                }

                //--- DELETE REMOVE MOVIMENTACAO (AND ACRESCIMO)
                //------------------------------------------------------------------------------------------------------------

                string query = "";

                //--- 1. check DELETE tblMovAcrescimo
                //------------------------------------------------------------------------------------------------------------
                if (mov.AcrescimoValor != null && mov.AcrescimoValor != 0)
                {
                    //--- clear Params
                    db.LimparParametros();

                    //--- define Params
                    db.AdicionarParametros("@IDMovimentacao", mov.IDMovimentacao);
                    query = "DELETE tblMovAcrescimo WHERE IDMovimentacao = @IDMovimentacao";

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

                //--- 2. check DELETE tblMovImagem
                //------------------------------------------------------------------------------------------------------------

                /*
                 * if (mov.ImagemPath != String.Empty)
                 * {
                 *      //--- clear Params
                 *      db.LimparParametros();
                 *
                 *      //--- define Params
                 *      db.AdicionarParametros("@IDMovimentacao", mov.IDMovimentacao);
                 *      query = "DELETE tblMovImagem WHERE IDMovimentacao = @IDMovimentacao";
                 *
                 *      //--- DELETE
                 *      db.ExecutarManipulacao(CommandType.Text, query);
                 * }
                 */

                //--- 3. DELETE tblMovimentacao
                //------------------------------------------------------------------------------------------------------------
                db.LimparParametros();

                //--- define Params
                db.AdicionarParametros("@IDMovimentacao", mov.IDMovimentacao);
                query = "DELETE tblMovimentacao WHERE IDMovimentacao = @IDMovimentacao";

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

                //--- 4. DELETE OBSERVACAO
                //------------------------------------------------------------------------------------------------------------
                new ObservacaoBLL().DeleteObservacao(1, (long)mov.IDMovimentacao, db);

                //--- 5. CHANGE SALDOS
                //------------------------------------------------------------------------------------------------------------
                new ContaBLL().ContaSaldoChange((int)mov.IDConta, mov.MovValor * (-1), db, ContaSdlUpdate);
                new SetorBLL().SetorSaldoChange((int)mov.IDSetor, mov.MovValor * (-1), db, SetorSdlUpdate);

                if (dbTran == null)
                {
                    db.CommitTransaction();
                }
                return(true);
            }
            catch (Exception ex)
            {
                if (dbTran == null)
                {
                    db.RollBackTransaction();
                }
                throw ex;
            }
        }