Ejemplo n.º 1
0
        public void ValidarPrestacoesPagas(ContratoEntidade contrato)
        {
            string[] tipos           = { "A", "AV" };
            var      prestacoesPagas = contrato.Prestacoes
                                       .Count(x => !tipos.Contains(x.TIPO) && x.DT_PAGTO != null);

            bool disponibilidade = true;

            if (contrato.Natureza.RENOVACAO_MIN_PERC.HasValue && contrato.Natureza.RENOVACAO_MIN_PERC.Value > 0)
            {
                decimal prazovezeslimitemin = (contrato.PRAZO * (contrato.Natureza.RENOVACAO_MIN_PERC.Value / 100M)).Trunca(0);

                decimal diferenca = prazovezeslimitemin - prestacoesPagas;

                if (diferenca >= 1)
                {
                    disponibilidade = false; //inválido para reforma
                }
            }
            else if (contrato.Natureza.CAR_RENOVACAO.HasValue && contrato.Natureza.CAR_RENOVACAO.Value > 0)
            {
                disponibilidade = contrato.Natureza.CAR_RENOVACAO <= prestacoesPagas;
            }

            if (disponibilidade == false)
            {
                MotivoGlobal         += "Contrato não pode ser reformado, quantidade de parcelas pagas menor que o limite mínimo.\n";
                DisponibilidadeGlobal = disponibilidade;
            }
        }
Ejemplo n.º 2
0
        private static ContratoEntidade BuscarDetalhesContratos(string CD_FUNDACAO, ContratoEntidade contrato)
        {
            contrato.Modalidade = new ModalidadeProxy().BuscarPorCodigo(contrato.CD_MODAL);
            contrato.Natureza   = new NaturezaProxy().BuscarPorCdNatur(contrato.CD_NATUR);
            contrato.Prestacoes = new PrestacaoProxy().BuscarPorFundacaoContrato(CD_FUNDACAO, contrato.ANO_CONTRATO, contrato.NUM_CONTRATO).ToList();

            contrato.Prestacoes.ForEach(prestacao =>
            {
                prestacao.DES_VL_RECEBIDO = prestacao.VL_RECEBIDO != 0 ? prestacao.VL_RECEBIDO.Value.ToString("C") : string.Empty;
            });

            contrato.DES_NUM_CONTRATO = $"{contrato.NUM_CONTRATO}/{contrato.ANO_CONTRATO}";
            contrato.DES_PARCELAS     = $"{contrato.Prestacoes.Count(x => x.DT_PAGTO != null)}/{contrato.PRAZO}";

            return(contrato);
        }
Ejemplo n.º 3
0
        // POST: api/Contrato
        public long Post([FromBody] ContratoEntidade aEntidade)
        {
            try
            {
                return(new ContratoNegocio().Cadastrar(aEntidade));
            }
            catch (Exception ex)
            {
                var erro = new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                {
                    Content = new StringContent(ex.Message)
                };

                throw new HttpResponseException(erro);
            }
        }