// UPDATE
        //------------------------------------------------------------------------------------------------------------
        public bool UpdateDespesa(objDespesa desp, AcessoDados dbTran)
        {
            try
            {
                //--- clear Params
                dbTran.LimparParametros();

                //--- define Params
                dbTran.AdicionarParametros("@IDDespesa", desp.IDDespesa);
                dbTran.AdicionarParametros("@DespesaDescricao", desp.DespesaDescricao);
                dbTran.AdicionarParametros("@DespesaOrigem", desp.DespesaOrigem);
                dbTran.AdicionarParametros("@DespesaValor", desp.DespesaValor);
                dbTran.AdicionarParametros("@DespesaData", desp.DespesaData);
                dbTran.AdicionarParametros("@IDCredor", desp.IDCredor);
                dbTran.AdicionarParametros("@IDSetor", desp.IDSetor);
                dbTran.AdicionarParametros("@IDDespesaTipo", desp.IDDespesaTipo);

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

                string query = dbTran.CreateUpdateSQL("tblDespesa", "@IDDespesa");

                //--- UPDATE
                dbTran.ExecutarManipulacao(CommandType.Text, query);
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        //=============================================================================
        // DESPESA
        //=============================================================================

        // INSERT
        //------------------------------------------------------------------------------------------------------------
        public long InsertDespesa(objDespesa desp, AcessoDados dbTran)
        {
            try
            {
                //--- clear Params
                dbTran.LimparParametros();

                //--- define Params
                dbTran.AdicionarParametros("@DespesaDescricao", desp.DespesaDescricao);
                dbTran.AdicionarParametros("@DespesaOrigem", desp.DespesaOrigem);
                dbTran.AdicionarParametros("@DespesaValor", desp.DespesaValor);
                dbTran.AdicionarParametros("@DespesaData", desp.DespesaData);
                dbTran.AdicionarParametros("@IDCredor", desp.IDCredor);
                dbTran.AdicionarParametros("@IDSetor", desp.IDSetor);
                dbTran.AdicionarParametros("@IDDespesaTipo", desp.IDDespesaTipo);
                dbTran.AdicionarParametros("@IDTitular", desp.IDTitular);

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

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

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

                return(newID);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        // DETTACH DESPESA TO PROVISORIA
        //------------------------------------------------------------------------------------------------------------
        public void DettachDespesaToProvisoria(objDespesaProvisoria Provisorio, objDespesa Despesa)
        {
            AcessoDados db = null;

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

                //--- limpar parametros
                db.LimparParametros();
                db.AdicionarParametros("@IDProvisorio", Provisorio.IDProvisorio);
                db.AdicionarParametros("@IDDespesa", Despesa.IDDespesa);

                //--- execute insert tblDespesaProvisoriaRealizado
                string query = "DELETE tblDespesaProvisoriaRealizado " +
                               "WHERE IDProvisorio = @IDProvisorio AND IDDespesa = @IDDespesa";

                db.ExecutarManipulacao(CommandType.Text, query);

                //--- execute Update Desepesa Provisoria
                Provisorio.Concluida       = false;
                Provisorio.DevolucaoData   = null;
                Provisorio.ValorRealizado -= Despesa.DespesaValor;
                Provisorio.EndEdit();

                UpdateDespesaProvisoria(Provisorio, db);

                //--- commit
                db.CommitTransaction();
            }
            catch (SqlException ex)
            {
                db.RollBackTransaction();

                if (ex.Number == 2627)
                {
                    throw new AppException("Já existe um Vínculo criado entre a Despesa Provisória com a Despesa Escolhida...");
                }
                else
                {
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                db.RollBackTransaction();
                throw ex;
            }
        }
        // ATTACH DESPESA TO PROVISORIA
        //------------------------------------------------------------------------------------------------------------
        public void AttachDespesaToProvisoria(objDespesaProvisoria Provisorio, objDespesa Despesa)
        {
            AcessoDados db = null;

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

                //--- limpar parametros
                db.LimparParametros();
                db.AdicionarParametros("@IDProvisorio", Provisorio.IDProvisorio);
                db.AdicionarParametros("@IDDespesa", Despesa.IDDespesa);

                //--- execute insert tblDespesaProvisoriaRealizado
                string query = "INSERT INTO tblDespesaProvisoriaRealizado " +
                               "(IDProvisorio, IDDespesa) " +
                               "VALUES (@IDProvisorio, @IDDespesa);";

                db.ExecutarManipulacao(CommandType.Text, query);

                //--- execute Update Desepesa Provisoria
                Provisorio.ValorRealizado = Provisorio.ValorRealizado == null ? Despesa.DespesaValor : Provisorio.ValorRealizado + Despesa.DespesaValor;
                Provisorio.EndEdit();

                UpdateDespesaProvisoria(Provisorio, db);

                //--- commit
                db.CommitTransaction();
            }
            catch (SqlException ex)
            {
                db.RollBackTransaction();

                if (ex.Number == 2627)
                {
                    throw new AppException("Já existe um Vínculo criado entre a Despesa Provisória com a Despesa Escolhida...");
                }
                else
                {
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                db.RollBackTransaction();
                throw ex;
            }
        }
예제 #5
0
        // INSERT DESPESA IN LIST AND ATTACH ON PROVISORIA
        //------------------------------------------------------------------------------------------------------------
        private void SaveAttachDespesa(objDespesa despesa)
        {
            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                if (_provisoria.IDProvisorio == null || Sit == EnumFlagEstado.NovoRegistro)
                {
                    throw new Exception("Essa despesa provisória ainda não foi salva...");
                }

                //--- check concluida
                if (despesa.DespesaValor >= _provisoria.ValorProvisorio - (_provisoria.ValorRealizado ?? 0))
                {
                    var resp = AbrirDialog("O Valor total da Despesa a ser inserida é maior que o valor esperado da Despesa Provisória." +
                                           "\nDeseja FINALIZAR a despesa provisória após anexar essa Despesa?", "Finalizar Provisório",
                                           DialogType.SIM_NAO, DialogIcon.Question);

                    if (resp == DialogResult.Yes)
                    {
                        _provisoria.Concluida     = true;
                        _provisoria.DevolucaoData = DateTime.Today;
                    }
                }

                provBLL.AttachDespesaToProvisoria(_provisoria, despesa);
                bindDespesa.Add(despesa);

                _provisoria.EndEdit();
                Sit = EnumFlagEstado.RegistroSalvo;
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Anexar Despesa ao Provisório..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
예제 #6
0
        private void mnuItemDesvincular_Click(object sender, EventArgs e)
        {
            //--- verifica se existe alguma cell
            if (dgvListagem.SelectedRows.Count == 0)
            {
                return;
            }

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

            //--- ask user
            var resp = AbrirDialog($"Deseja desvincular a despesa realizada: {item.IDDespesa:D4} valor: {item.DespesaValor:c} da despesa Provisória?",
                                   "Desvincular", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second);

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

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

                provBLL.DettachDespesaToProvisoria(_provisoria, item);
                bindDespesa.Remove(item);
                _provisoria.EndEdit();
                Sit = EnumFlagEstado.RegistroSalvo;
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Desvincular a Despesa..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }