public void ValidarEAtualizarParcela(TituloParcela tituloParcela) { try { tituloParcela.Validar(); if (!tituloParcela.EhValido) { throw new System.ArgumentException(tituloParcela.ObterMensagensValidacao()); } using (var unidadeTrabalho = _repositorioTitulo.TransactionScope()) { _repositorioTituloParcela.Atualizar(tituloParcela); var titulo = _repositorioTitulo.ObterPorId(tituloParcela.TituloId); var retornoTitulo = CalcularTitulo(titulo); _repositorioTitulo.Atualizar(retornoTitulo); unidadeTrabalho.Complete(); } } catch (System.Exception) { throw; } }
public TituloParcela CalcularTituloParcela(ref Titulo titulo, TituloParcela tituloParcela, int numParcela) { decimal diasEmAtraso; diasEmAtraso = Convert.ToDecimal((DateTime.Today - tituloParcela.Vencimento).TotalDays); if (diasEmAtraso < 0) { diasEmAtraso = 0; } if (diasEmAtraso >= titulo.DiasEmAtraso) { titulo.DiasEmAtraso = (int)diasEmAtraso; } if (diasEmAtraso > 0) { tituloParcela.VlrMulta = tituloParcela.VlrOriginal * (titulo.PerMulta / 100); tituloParcela.VlrJuros = (titulo.PerJuros / 100) / 30 * diasEmAtraso * tituloParcela.VlrOriginal; } else { tituloParcela.VlrMulta = 0; tituloParcela.VlrJuros = 0; } tituloParcela.DiasEmAtraso = (int)diasEmAtraso; tituloParcela.VlrCorrigido = tituloParcela.VlrOriginal + tituloParcela.VlrMulta + tituloParcela.VlrJuros; tituloParcela.NumParcela = numParcela; return(tituloParcela); }
public IActionResult Excluir([FromBody] TituloParcela tituloParcela) { try { var retorno = _appServicoTitulo.ExcluirParcelaERetornarLista(tituloParcela); return(Json(retorno)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IActionResult Post([FromBody] TituloParcela tituloParcela) { try { if (tituloParcela.Id > 0) { _appServicoTitulo.ValidarEAtualizarParcela(tituloParcela); } else { _appServicoTitulo.ValidarECadastrarParcela(tituloParcela); } return(Created("TituloParcela", tituloParcela)); } catch (Exception e) { return(BadRequest(e.ToString())); } }
public IEnumerable <ViewModelTituloParcela> ExcluirParcelaERetornarLista(TituloParcela tituloParcela) { try { var tituloId = tituloParcela.TituloId; using (var unidadeTrabalho = _repositorioTituloParcela.TransactionScope()) { _repositorioTituloParcela.Remover(tituloParcela); var titulo = _repositorioTitulo.ObterPorId(tituloId); var retornoTitulo = CalcularTitulo(titulo); _repositorioTitulo.Atualizar(retornoTitulo); unidadeTrabalho.Complete(); } return(_repositorioTituloParcela.ObterPorTituloId(tituloId)); } catch (System.Exception) { throw; } }