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); } }
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); }
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(); } }
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(); } }
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); }
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); } } } }