コード例 #1
0
ファイル: Manter.aspx.cs プロジェクト: vitor97lima/source
        protected void BtnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                if (TxtCodigo.Text.Trim().Equals(String.Empty))
                {
                    TxtCodigo.Text = "";
                    TxtCodigo.Focus();
                    throw new CampoNaoInformadoException("Índice Financeiro", "Código", true);
                }
                if (TxtPeriodicidade.Text.Trim().Equals(String.Empty))
                {
                    TxtPeriodicidade.Text = "";
                    TxtPeriodicidade.Focus();
                    throw new CampoNaoInformadoException("Índice Financeiro", "Periodicidade", true);
                }
                if (TxtValor.Text.Trim().Equals(String.Empty))
                {
                    TxtPeriodicidade.Text = "";
                    TxtPeriodicidade.Focus();
                    throw new CampoNaoInformadoException("Índice Financeiro", "Valor", true);
                }
                if (TxtDataReferencia.Text.Trim().Equals(String.Empty))
                {
                    TxtPeriodicidade.Text = "";
                    TxtPeriodicidade.Focus();
                    throw new CampoNaoInformadoException("Índice Financeiro", "Data de Referência", true);
                }

                IndiceFinanceiro      lIndiceFinanceiro      = null;
                IndiceFinanceiroValor lIndiceFinanceiroValor = new IndiceFinanceiroValor();
                string mensagem = "";
                if (Request.QueryString["id"] != null)
                {
                    lIndiceFinanceiro = IndiceFinanceiroBLL.Instance.BuscarPorId(Convert.ToInt32(Request.QueryString["id"]));
                    mensagem          = "Índice financeiro alterado com sucesso.";
                }
                else
                {
                    lIndiceFinanceiro = new IndiceFinanceiro();
                    mensagem          = "Índice financeiro cadastrado com sucesso.";
                }

                lIndiceFinanceiro.Codigo              = TxtCodigo.Text.Trim();
                lIndiceFinanceiro.Periodicidade       = TxtPeriodicidade.Text.ToCharArray()[0];
                lIndiceFinanceiroValor.DataReferencia = DateTime.Parse(TxtDataReferencia.Text);
                lIndiceFinanceiroValor.Valor          = float.Parse(TxtValor.Text);
                if (lIndiceFinanceiro.Valores == null)
                {
                    lIndiceFinanceiro.Valores = new List <IndiceFinanceiroValor>();
                }
                lIndiceFinanceiro.Valores.Add(lIndiceFinanceiroValor);
                IndiceFinanceiroBLL.Instance.Persistir(lIndiceFinanceiro);
                Web.ExibeAlerta(Page, mensagem, "Listar.aspx");
            }
            catch (BusinessException ex)
            {
                Web.ExibeAlerta(Page, ex.Message);
            }
        }
コード例 #2
0
        public IndiceFinanceiroValor BuscarIndicePorVencimentoPrestacao(IndiceFinanceiro pIndiceFinanceiro, Prestacao pPrestacao)
        {
            if (pIndiceFinanceiro.Id < 1)
            {
                throw new OperacaoNaoRealizadaException();
            }
            if (pPrestacao.DataVencimento == null)
            {
                throw new OperacaoNaoRealizadaException();
            }

            IndiceFinanceiroValor lIndiceValorReferencia = pIndiceFinanceiro.ValorMaisAntigo;

            foreach (IndiceFinanceiroValor lIndiceValor in pIndiceFinanceiro.Valores)
            {
                if (lIndiceValor.DataReferencia < pPrestacao.DataVencimento)
                {
                    if (lIndiceValorReferencia.DataReferencia < lIndiceValor.DataReferencia)
                    {
                        lIndiceValorReferencia = lIndiceValor;
                    }
                }
            }
            return(lIndiceValorReferencia);
        }
コード例 #3
0
ファイル: PrestacaoBLL.cs プロジェクト: vitor97lima/source
 public void CorrigirPrestacao(Prestacao pPrestacao)
 {
     if (pPrestacao != null && pPrestacao.Contrato.IndiceCorrecao != null)
     {
         pPrestacao.ValorPrestacao = pPrestacao.ValorPrincipal;
         IndiceFinanceiroValor lIndiceValor = IndiceFinanceiroBLL.Instance.BuscarValorIndiceRegente(pPrestacao.Contrato.IndiceCorrecao);
         float lValorPrestacaoAnterior      = pPrestacao.ValorPrestacao;
         float lIndiceCorrecao = lIndiceValor.Valor / 100;
         pPrestacao.ValorPrestacao = (float)(pPrestacao.ValorPrestacao * Math.Pow((1 + lIndiceCorrecao), (pPrestacao.NumeroPrestacao)));
         pPrestacao.ValorCorrecao  = pPrestacao.ValorPrestacao - lValorPrestacaoAnterior;
         pPrestacao.Saldo          = SaldoEmprestimoBLL.Instance.GerarSaldo(pPrestacao);
     }
     else
     {
         throw new OperacaoNaoRealizadaException();
     }
 }
コード例 #4
0
ファイル: PrestacaoBLL.cs プロジェクト: vitor97lima/source
 public void CorrigirPrestacoes(Contrato pContrato)
 {
     if (pContrato.Prestacoes != null && pContrato.IndiceCorrecao != null)
     {
         IList <Prestacao> lPrestacoes = pContrato.Prestacoes;
         foreach (Prestacao lPrestacao in lPrestacoes)
         {
             lPrestacao.ValorPrestacao = lPrestacao.ValorPrincipal;
             IndiceFinanceiroValor lIndiceValor = IndiceFinanceiroBLL.Instance.BuscarValorIndiceRegente(lPrestacao.Contrato.IndiceCorrecao);
             float lValorPrestacaoAnterior      = lPrestacao.ValorPrestacao;
             float lIndiceCorrecao = lIndiceValor.Valor / 100;
             lPrestacao.ValorPrestacao = (float)(lPrestacao.ValorPrestacao * Math.Pow((1 + lIndiceCorrecao), (lPrestacao.NumeroPrestacao)));
             lPrestacao.ValorCorrecao  = lPrestacao.ValorPrestacao - lValorPrestacaoAnterior;
             lPrestacao.Saldo          = SaldoEmprestimoBLL.Instance.GerarSaldo(lPrestacao);
         }
     }
     else
     {
         throw new OperacaoNaoRealizadaException();
     }
 }
コード例 #5
0
        public IndiceFinanceiroValor BuscarValorIndiceRegente(IndiceFinanceiro pIndiceFinanceiro)
        {
            if (pIndiceFinanceiro.Id < 1)
            {
                throw new OperacaoNaoRealizadaException();
            }

            IndiceFinanceiroValor lIndiceValorReferencia = pIndiceFinanceiro.ValorMaisAntigo;

            foreach (IndiceFinanceiroValor lIndiceValor in pIndiceFinanceiro.Valores)
            {
                if (lIndiceValor.DataReferencia < DateTime.Today)
                {
                    if (lIndiceValorReferencia.DataReferencia < lIndiceValor.DataReferencia)
                    {
                        lIndiceValorReferencia = lIndiceValor;
                    }
                }
            }
            return(lIndiceValorReferencia);
        }
コード例 #6
0
ファイル: Manter.aspx.cs プロジェクト: vitor97lima/source
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["id"] != null)
                {
                    switch (Request.QueryString["acao"])
                    {
                    case "abrir":
                        CarregarValores();
                        BloquearComponentes();
                        break;

                    case "editar":
                        break;
                    }

                    try
                    {
                        IndiceFinanceiro lIndiceFinanceiro =
                            IndiceFinanceiroBLL.Instance.BuscarPorId(Convert.ToInt32(Request.QueryString["id"]));
                        IndiceFinanceiroValor lIndiceFinanceiroValor = null;
                        TxtCodigo.Text        = lIndiceFinanceiro.Codigo;
                        TxtPeriodicidade.Text = lIndiceFinanceiro.Periodicidade.ToString();

                        DateTime lDataRefMaisRecente = DateTime.MinValue;
                        lIndiceFinanceiroValor = lIndiceFinanceiro.ValorMaisRecente;
                        TxtValor.Text          = lIndiceFinanceiroValor.Valor.ToString();
                        TxtDataReferencia.Text = lIndiceFinanceiroValor.DataReferencia.ToString("yyyy-MM");
                    }
                    catch (BusinessException ex)
                    {
                        Web.ExibeAlerta(Page, ex.Message);
                    }
                }
            }
        }