Ejemplo n.º 1
0
        // DELETE APAGAR
        //------------------------------------------------------------------------------------------------------------
        public bool DeleteAPagar(objAPagar pagar, object dbTran = null)
        {
            try
            {
                if (pagar.Imagem != null && !string.IsNullOrEmpty(pagar.Imagem.ImagemFileName))
                {
                    string errMessage = "Favor remover/desassociar as imagens do APagar se deseja EXCLUIR.";
                    throw new AppException(errMessage);
                }

                AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran;

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

                //--- define Params
                db.AdicionarParametros("@IDAPagar", pagar.IDAPagar);

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

                //--- create query
                string query = "DELETE tblAPagar WHERE IDAPagar = @IDAPagar";

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

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        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();
        }
        // DEFINE APAGAR TO SAVE
        //------------------------------------------------------------------------------------------------------------
        private objAPagar DefineAPagar(List <objComissao> comissoes, DateTime PagData, decimal Total)
        {
            // create format Identificador
            string Id = "comissao: ";

            comissoes.ForEach(x => Id += ((int)x.IDComissao).ToString("D2") + " | ");
            Id = Id.Substring(0, Id.Length - 3);
            if (Id.Length > 40)
            {
                Id = Id.Substring(0, 40);
            }

            var apagar = new objAPagar(null)
            {
                APagarValor   = Total,
                IDCredor      = comissoes[0].IDCredor,
                Identificador = Id,
                IDSetor       = comissoes[0].IDSetor,
                IDSituacao    = 2,
                PagamentoData = PagData,
                Parcela       = 1,
                Prioridade    = 3,
                Situacao      = "Quitado",
                ValorPago     = Total,
                Vencimento    = PagData,
            };

            return(apagar);
        }
Ejemplo n.º 4
0
        // VER PAGAMENTOS
        //------------------------------------------------------------------------------------------------------------
        private void mnuItemVerPagamentos_Click(object sender, EventArgs e)
        {
            //--- check selected item
            if (dgvListagem.SelectedRows.Count == 0)
            {
                AbrirDialog("Favor selecionar um registro para Ver Pagamentos ou Estornar...",
                            "Selecionar Registro", DialogType.OK, DialogIcon.Information);
                return;
            }

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

                objAPagar pagItem = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem;

                frmAPagarSaidas frm = new frmAPagarSaidas(pagItem, this);
                frm.ShowDialog();
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao abrir formulário de Pagamentos..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
Ejemplo n.º 5
0
        public frmAPagarSaidas(objAPagar pag, Form formOrigem)
        {
            InitializeComponent();
            _formOrigem     = formOrigem;
            _apagar         = pag;
            bind.DataSource = _apagar;
            BindingCreator();

            GetSaidaList();
            dgvListagem.DataSource = bindSaida;
            FormataListagem();

            if (_apagar.IDSituacao != 1)             // NOT NORMAL
            {
                btnQuitar.Enabled           = false;
                btnConcederDesconto.Enabled = false;
            }

            DefineValueLabels();

            //--- if ORIGEM => frmMovimentacao
            if (_formOrigem.GetType() == typeof(Contas.frmContaMovimentacao))
            {
                lblDespesaDescricao.Cursor      = Cursors.Hand;
                lblDespesaDescricao.Click      += LblDespesaDescricao_Click;
                lblDespesaDescricao.MouseHover += (a, b) => ShowToolTip(lblDespesaDescricao as Control);
            }
        }
Ejemplo 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
            objAPagar item = (objAPagar)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;
            }
        }
Ejemplo n.º 7
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;
            }
        }
Ejemplo n.º 8
0
        public frmAPagarDetalhe(objAPagar pag, Form formOrigem)
        {
            InitializeComponent();
            Size        = new Size(530, 536);
            _formOrigem = formOrigem;
            _apagar     = pag;

            CheckEditing();
        }
        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)
            {
                // 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
                objAPagar desp = (objAPagar)dgvListagem.Rows[hit.RowIndex].DataBoundItem;

                // mnuImagem
                bool IsThereImagem = desp.Imagem != null && !string.IsNullOrEmpty(desp.Imagem.ImagemFileName);

                mnuImagemRemover.Enabled    = IsThereImagem;
                mnuImagemInserir.Text       = IsThereImagem ? "Alterar Imagem" : "Inserir Imagem";
                mnuImagemVisualizar.Enabled = IsThereImagem;

                mnuImagemAPagar.Enabled = true;

                if (_despesa.IDSituacao == 1)
                {
                    mnuExcluirAPagar.Enabled   = true;
                    mnuAdicionarAPagar.Enabled = true;
                }
                else
                {
                    mnuExcluirAPagar.Enabled   = false;
                    mnuAdicionarAPagar.Enabled = false;
                }
            }
            else
            {
                mnuExcluirAPagar.Enabled = false;
                mnuImagemAPagar.Enabled  = false;
                if (_despesa.IDSituacao != 1)
                {
                    mnuAdicionarAPagar.Enabled = false;
                }
            }

            // revela menu
            mnuOperacoes.Show(c.PointToScreen(e.Location));
        }
        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
            objAPagar item = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem;

            if (item.IDAPagar == null)
            {
                AbrirDialog("Não é possível REMOVER imagem de uma Parcela de APagar numa Despesa que ainda não foi salva..." +
                            "\nSalvar a Despesa antes de REMOVER a imagem.",
                            "Inserir Imagem", DialogType.OK, DialogIcon.Exclamation);
                return;
            }

            DialogResult resp;

            resp = AbrirDialog("Deseja realmente REMOVER ou DESASSOCIAR a imagem da despesa 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;
            }
        }
Ejemplo n.º 11
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;
            }
        }
Ejemplo n.º 12
0
        // SUB NEW
        //------------------------------------------------------------------------------------------------------------
        public frmDespesaAPagarItem(objAPagar APagar, decimal maxValor, DateTime minVencimento, Form formOrigem)
        {
            InitializeComponent();

            _formOrigem = formOrigem;
            GetFormasList();

            _Pag            = APagar;
            bind.DataSource = _Pag;
            BindingCreator();

            _minVencimento        = minVencimento;
            _maxValor             = maxValor;
            dtpVencimento.MinDate = minVencimento;

            // handlers
            HandlerKeyDownControl(this);
        }
Ejemplo n.º 13
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;
            }
        }
Ejemplo n.º 14
0
        // CONTROLA AS CORES DA LISTAGEM
        //------------------------------------------------------------------------------------------------------------
        private void dgvListagem_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            objAPagar pagar = (objAPagar)dgvListagem.Rows[e.RowIndex].DataBoundItem;

            if (e.ColumnIndex == clnSituacao.Index)
            {
                if (pagar.Situacao == "Vencida")
                {
                    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 ((e.RowIndex + 1) % 2 != 0)                     // row ODD (impar)
                    {
                        dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor          = Color.OldLace;
                        dgvListagem.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor = SystemColors.Highlight;
                    }
                    else                     // row EVEN (par)
                    {
                        dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor          = Color.White;
                        dgvListagem.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor = SystemColors.Highlight;
                    }
                }
            }
            else if (e.ColumnIndex == clnVencimento.Index)
            {
                if (pagar.Situacao == "Vencida")
                {
                    e.CellStyle.ForeColor          = Color.Red;
                    e.CellStyle.SelectionForeColor = Color.Yellow;
                }
            }
            else if (e.ColumnIndex == 0)             // COLOR TO A PAGAR PERIODICO
            {
                if (pagar.IDAPagar == null)
                {
                    dgvListagem.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.DarkBlue;
                    e.Value = "PER";
                }
            }
        }
Ejemplo n.º 15
0
        // UPDATE
        //------------------------------------------------------------------------------------------------------------
        public bool UpdateAPagar(objAPagar pag, object dbTran = null)
        {
            AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran;

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

                //--- define Params
                db.AdicionarParametros("@IDAPagar", pag.IDAPagar);
                db.AdicionarParametros("@APagarValor", pag.APagarValor);
                db.AdicionarParametros("@IDBanco", pag.IDBanco);
                db.AdicionarParametros("@IDAPagarForma", pag.IDAPagarForma);
                db.AdicionarParametros("@IDDespesa", pag.IDDespesa);
                db.AdicionarParametros("@Identificador", pag.Identificador);
                db.AdicionarParametros("@IDSituacao", pag.IDSituacao);
                db.AdicionarParametros("@Parcela", pag.Parcela);
                db.AdicionarParametros("@Prioridade", pag.Prioridade);
                db.AdicionarParametros("@ReferenciaAno", pag.ReferenciaAno);
                db.AdicionarParametros("@ReferenciaMes", pag.ReferenciaMes);
                db.AdicionarParametros("@ValorPago", pag.ValorPago);
                db.AdicionarParametros("@ValorAcrescimo", pag.ValorAcrescimo);
                db.AdicionarParametros("@ValorDesconto", pag.ValorDesconto);
                db.AdicionarParametros("@Vencimento", pag.Vencimento);
                db.AdicionarParametros("@PagamentoData", pag.PagamentoData);

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

                string query = db.CreateUpdateSQL("tblAPagar", "IDAPagar");

                //--- insert and Get new ID
                db.ExecutarManipulacao(CommandType.Text, query);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 16
0
        public frmAPagarAlterar(objAPagar pag, Form formOrigem)
        {
            InitializeComponent();
            _formOrigem = formOrigem;
            _apagar     = pag;

            GetFormasList();

            bind.DataSource = _apagar;
            BindingCreator();

            // If Origem = Periodica enable change valor
            if (_apagar.DespesaOrigem == 2)
            {
                btnAlterarValor.Visible = true;
            }

            HandlerKeyDownControl(this);
            _apagar.PropertyChanged += (a, b) => btnAlterar.Enabled = true;
        }
Ejemplo n.º 17
0
        // INSERT APAGAR
        //------------------------------------------------------------------------------------------------------------
        private objAPagar InsertAPagar(objAPagar pag, AcessoDados dbTran)
        {
            try
            {
                //--- clear Params
                dbTran.LimparParametros();

                //--- define Params
                dbTran.AdicionarParametros("@APagarValor", pag.APagarValor);
                dbTran.AdicionarParametros("@IDBanco", pag.IDBanco);
                dbTran.AdicionarParametros("@IDAPagarForma", pag.IDAPagarForma);
                dbTran.AdicionarParametros("@IDDespesa", pag.IDDespesa);
                dbTran.AdicionarParametros("@Identificador", pag.Identificador);
                dbTran.AdicionarParametros("@IDSituacao", pag.IDSituacao);
                dbTran.AdicionarParametros("@Parcela", pag.Parcela);
                dbTran.AdicionarParametros("@Prioridade", pag.Prioridade);
                dbTran.AdicionarParametros("@ReferenciaAno", pag.ReferenciaAno);
                dbTran.AdicionarParametros("@ReferenciaMes", pag.ReferenciaMes);
                dbTran.AdicionarParametros("@ValorPago", pag.ValorPago);
                dbTran.AdicionarParametros("@ValorAcrescimo", pag.ValorAcrescimo);
                dbTran.AdicionarParametros("@ValorDesconto", pag.ValorDesconto);
                dbTran.AdicionarParametros("@Vencimento", pag.Vencimento);
                dbTran.AdicionarParametros("@PagamentoData", pag.PagamentoData);

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

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

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

                return(pag);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 18
0
        // CONVERT ROW IN CLASS
        //------------------------------------------------------------------------------------------------------------
        public objAPagar ConvertRowInClass(DataRow row)
        {
            objAPagar pagar = new objAPagar((long)row["IDAPagar"])
            {
                IDDespesa        = (long)row["IDDespesa"],
                DespesaDescricao = (string)row["DespesaDescricao"],
                DespesaOrigem    = (byte)row["DespesaOrigem"],
                Identificador    = (string)row["Identificador"],
                Parcela          = row["Parcela"] == DBNull.Value ? null : (byte?)row["Parcela"],
                IDAPagarForma    = (int)row["IDAPagarForma"],
                APagarForma      = (string)row["APagarForma"],
                IDPagFormaModo   = (byte)row["IDPagFormaModo"],
                IDCartaoCredito  = row["IDCartaoCredito"] == DBNull.Value ? null : (int?)row["IDCartaoCredito"],
                APagarValor      = (decimal)row["APagarValor"],
                IDSituacao       = (byte)row["IDSituacao"],
                Situacao         = (string)row["Situacao"],
                IDBanco          = row["IDBanco"] == DBNull.Value ? null : (int?)row["IDBanco"],
                Banco            = row["BancoNome"] == DBNull.Value ? string.Empty : (string)row["BancoNome"],
                Vencimento       = (DateTime)row["Vencimento"],
                PagamentoData    = row["PagamentoData"] == DBNull.Value ? null : (DateTime?)row["PagamentoData"],
                Prioridade       = (byte)row["Prioridade"],
                IDCredor         = row["IDCredor"] == DBNull.Value ? null : (int?)row["IDCredor"],
                Credor           = row["Credor"] == DBNull.Value ? string.Empty : (string)row["Credor"],
                ValorPago        = (decimal)row["ValorPago"],
                ValorAcrescimo   = (decimal)row["ValorAcrescimo"],
                ValorDesconto    = (decimal)row["ValorDesconto"],
                ReferenciaMes    = row["ReferenciaMes"] == DBNull.Value ? null : (int?)row["ReferenciaMes"],
                ReferenciaAno    = row["ReferenciaMes"] == DBNull.Value ? null : (int?)row["ReferenciaAno"],
                IDSetor          = (int)row["IDSetor"],
                Setor            = (string)row["Setor"],
            };

            // SET IMAGEM
            pagar.Imagem.IDOrigem       = (long)pagar.IDAPagar;
            pagar.Imagem.Origem         = EnumImagemOrigem.APagar;
            pagar.Imagem.ImagemFileName = row["ImagemFileName"] == DBNull.Value ? string.Empty : (string)row["ImagemFileName"];
            pagar.Imagem.ImagemPath     = row["ImagemPath"] == DBNull.Value ? string.Empty : (string)row["ImagemPath"];

            return(pagar);
        }
        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
            objAPagar item = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem;

            if (item.IDAPagar == null)
            {
                AbrirDialog("Não é possível visualizar imagem de uma Parcela de APagar numa Despesa que ainda não foi salva..." +
                            "\nSalvar a Despesa antes de Visualizar a imagem.",
                            "Inserir Imagem", DialogType.OK, DialogIcon.Exclamation);
                return;
            }

            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;
            }
        }
Ejemplo n.º 20
0
        // CONVERT APAGAR PERIODICO IN REAL
        //------------------------------------------------------------------------------------------------------------
        public objAPagar ConvertPeriodicoInReal(objDespesaPeriodica desp, DateTime Vencimento)
        {
            AcessoDados dbTran = null;

            try
            {
                // init transaction
                dbTran = new AcessoDados();
                dbTran.BeginTransaction();

                //--- check exists DESP PERIODICA before this
                var PeriodicoList = CreateListAPagarPeriodica(desp, desp.IniciarData, desp.IniciarData.AddMonths(1));

                if (PeriodicoList[0].Vencimento != Vencimento)
                {
                    throw new AppException($"Não é possível converter em Despesa Real já que existem vencimentos " +
                                           $"anteriores dessa despesa periódica.\n" +
                                           $"Primeira Data: {PeriodicoList[0].Vencimento:d}");
                }

                // 1. update Despesa Periodica (IniciarData, DespesaValor)
                desp.IniciarData = Vencimento.AddDays(1);
                new DespesaPeriodicaBLL().UpdateDespesaPeriodica(desp, dbTran);

                // 2. create and save APagar
                objAPagar newPag = CreateAPagarByDespesa(desp, Vencimento);
                InsertAPagar(newPag, dbTran);

                // 3. return new APagar
                dbTran.CommitTransaction();
                return(newPag);
            }
            catch (Exception ex)
            {
                dbTran.RollBackTransaction();
                throw ex;
            }
        }
        private void btnRemoverItem_Click(object sender, EventArgs e)
        {
            //--- check selected item
            if (dgvListagem.SelectedRows.Count == 0)
            {
                AbrirDialog("Favor selecionar um registro para REMOVER...",
                            "Selecionar Registro", DialogType.OK, DialogIcon.Information);
                return;
            }

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

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

                //--- Update DB
                despBLL.RemoverVinculoAPagarItem((long)item.IDAPagar);

                //--- Remove to list
                bindAPagar.Remove(item);
                bindAPagar.ResetBindings(false);
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Excluir registro de APagar..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
Ejemplo n.º 22
0
        // IMAGEM MENU
        //------------------------------------------------------------------------------------------------------------
        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
            objAPagar item = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem;

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

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

                // 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;
            }
        }
Ejemplo n.º 23
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;
            }
        }
        // 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;
            }
        }
        // CONCLUIR DESPESA CARTAO
        //------------------------------------------------------------------------------------------------------------
        public void ConcluirDespesaCartao(objDespesaCartao despesa)
        {
            AcessoDados db = null;

            try
            {
                //--- INIT DATABASE
                db = new AcessoDados();
                db.BeginTransaction();

                //--- 1. BLOCK ALL DESPESA CARTAO WITH SAME IDCARTAO
                string query = "UPDATE tblDespesaCartao " +
                               "SET IDSituacao = 3 " +
                               "WHERE IDCartaoCredito = @IDCartaoCredito AND IDSituacao = 2";

                db.LimparParametros();
                db.AdicionarParametros("@IDCartaoCredito", despesa.IDCartaoCredito);

                db.ExecutarManipulacao(CommandType.Text, query);

                //--- 2. UPDATE TBL DESPESA
                new DespesaBLL().UpdateDespesa(despesa, db);

                //--- 3. FINALIZE THIS DESPESA CARTAO
                query = "UPDATE tblDespesaCartao " +
                        "SET IDSituacao = 2 " +
                        "WHERE IDDespesa = @IDDespesa";

                db.LimparParametros();
                db.AdicionarParametros("@IDDespesa", despesa.IDDespesa);

                db.ExecutarManipulacao(CommandType.Text, query);

                //--- 4. GET CARTAO OBJECT
                var cartao = new APagarCartaoBLL().GetCartaoCreditoDespesa(despesa.IDCartaoCredito, db);

                //--- 5. GENERATE NEW APAGAR WITH SUM OF VALUES
                var newPag = new objAPagar(null)
                {
                    IDSetor       = despesa.IDSetor,
                    IDSituacao    = 1,
                    APagarValor   = despesa.DespesaValor,
                    IDAPagarForma = cartao.IDAPagarForma,
                    IDCredor      = despesa.IDCredor,
                    IDDespesa     = (long)despesa.IDDespesa,
                    Identificador = $"{despesa.ReferenciaData.Month:D2}-{despesa.ReferenciaData.Year}",
                    Parcela       = 1,
                    Vencimento    = despesa.ReferenciaData,
                    ReferenciaMes = despesa.ReferenciaData.Month,
                    ReferenciaAno = despesa.ReferenciaData.Year,
                };

                new APagarBLL().InsertAPagarList(new List <objAPagar>()
                {
                    newPag
                }, db);

                //--- COMMIT TRANSACTION
                db.CommitTransaction();
            }
            catch (Exception ex)
            {
                db.RollBackTransaction();
                throw ex;
            }
        }
Ejemplo n.º 26
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;
            }
        }