Esempio n. 1
0
        public ContrachequeEntidade BuscarContrachequePorFundacaoEmpresaMatriculaPlano(string CD_FUNDACAO, string CD_EMPRESA, string NUM_MATRICULA, string CD_PLANO, int?SeqRecebedor = null)
        {
            List <FichaFinanceiraAssistidoEntidade> rubricas;

            if (SeqRecebedor.HasValue)
            {
                var ultima = base.BuscarUltimaPorRecebedor(CD_FUNDACAO, CD_EMPRESA, NUM_MATRICULA, SeqRecebedor.Value, CD_PLANO).First();
                rubricas = base.BuscarPorFundacaoEmpresaMatriculaPlanoReferenciaRecebedor(CD_FUNDACAO, CD_EMPRESA, NUM_MATRICULA, SeqRecebedor.Value, CD_PLANO, ultima.DT_REFERENCIA).ToList();
            }
            else
            {
                var ultima = base.BuscarUltima(CD_FUNDACAO, CD_EMPRESA, NUM_MATRICULA, CD_PLANO).First();
                rubricas = base.BuscarPorFundacaoEmpresaMatriculaPlanoReferencia(CD_FUNDACAO, CD_EMPRESA, NUM_MATRICULA, CD_PLANO, ultima.DT_REFERENCIA).ToList();
            }

            var proventos = rubricas.Where(x => x.RUBRICA_PROV_DESC == "P").ToList();
            var descontos = rubricas.Where(x => x.RUBRICA_PROV_DESC == "D").ToList();

            foreach (var rubrica in descontos)
            {
                rubrica.VALOR_MC *= -1;
            }

            var bruto        = proventos.Sum(x => x.VALOR_MC);
            var valDescontos = descontos.Sum(x => x.VALOR_MC);
            var liquido      = bruto - Math.Abs(valDescontos.Value);
            var indice       = new IndiceValoresProxy().BuscarReservaPoupanca(rubricas.First().DT_REFERENCIA.PrimeiroDiaDoMes());

            return(new ContrachequeEntidade
            {
                Proventos = proventos,
                Descontos = descontos,
                Resumo = new ContrachequeResumo
                {
                    Referencia = rubricas.First().DT_REFERENCIA,
                    Bruto = bruto,
                    Descontos = valDescontos,
                    Liquido = liquido,
                    TipoFolha = rubricas.First().CD_TIPO_FOLHA,
                    DesTipoFolha = rubricas.First().DS_TIPO_FOLHA,
                    Indice = indice
                }
            });
        }
Esempio n. 2
0
        public IndiceValoresEntidade BuscarUltimoPorCodigoData(string COD_IND)
        {
            var valorindice = new IndiceValoresProxy().BuscarUltimoPorCodigo(COD_IND).FirstOrDefault();

            return(valorindice);
        }
Esempio n. 3
0
        public ContrachequeEntidade BuscarUltimaFolhaPorFundacaoEmpresaMatriculaPlanoProcesso(string CD_FUNDACAO, string CD_EMPRESA, string NUM_MATRICULA, string CD_PLANO, string CD_ESPECIE, string ANO_PROCESSO, string NUM_PROCESSO, int?SeqRecebedor = null)
        {
            List <FichaFinanceiraAssistidoEntidade> rubricas = new List <FichaFinanceiraAssistidoEntidade>();

            if (SeqRecebedor.HasValue)
            {
                var ultima = base.BuscarUltimaPorProcessoRecebedor(CD_FUNDACAO, CD_EMPRESA, NUM_MATRICULA, SeqRecebedor.Value, CD_PLANO, CD_ESPECIE, ANO_PROCESSO, NUM_PROCESSO).FirstOrDefault();

                if (ultima != null)
                {
                    rubricas = base.BuscarPorFundacaoEmpresaMatriculaPlanoReferenciaProcessoRecebedor(CD_FUNDACAO, CD_EMPRESA, NUM_MATRICULA, SeqRecebedor.Value, CD_PLANO, ultima.DT_REFERENCIA, ANO_PROCESSO, NUM_PROCESSO).ToList();
                }
            }
            else
            {
                var ultima = base.BuscarUltimaPorProcesso(CD_FUNDACAO, CD_EMPRESA, NUM_MATRICULA, CD_PLANO, CD_ESPECIE, ANO_PROCESSO, NUM_PROCESSO).FirstOrDefault();

                if (ultima != null)
                {
                    rubricas = base.BuscarPorFundacaoEmpresaMatriculaPlanoReferenciaProcesso(CD_FUNDACAO, CD_EMPRESA, NUM_MATRICULA, CD_PLANO, ultima.DT_REFERENCIA, ANO_PROCESSO, NUM_PROCESSO).ToList();
                }
            }

            if (!string.IsNullOrEmpty(CD_ESPECIE))
            {
                rubricas = rubricas.Where(x => x.CD_ESPECIE == CD_ESPECIE).ToList();
            }

            var proventos = rubricas.Where(x => x.RUBRICA_PROV_DESC == "P").ToList();
            var descontos = rubricas.Where(x => x.RUBRICA_PROV_DESC == "D").ToList();

            foreach (var rubrica in descontos)
            {
                rubrica.VALOR_MC *= -1;
            }

            var bruto        = proventos.Sum(x => x.VALOR_MC);
            var valDescontos = descontos.Sum(x => x.VALOR_MC);
            var liquido      = bruto - Math.Abs(valDescontos.Value);

            var      cdTipoFolha  = "";
            var      desTipoFolha = "";
            DateTime dtReferencia = new DateTime();
            var      indice       = new IndiceValoresEntidade();

            if (rubricas.Any())
            {
                indice       = new IndiceValoresProxy().BuscarReservaPoupanca(rubricas.First().DT_REFERENCIA.PrimeiroDiaDoMes());
                cdTipoFolha  = rubricas.First().CD_TIPO_FOLHA;
                desTipoFolha = rubricas.First().DS_TIPO_FOLHA;
                dtReferencia = rubricas.First().DT_REFERENCIA;
            }

            return(new ContrachequeEntidade
            {
                Proventos = proventos,
                Descontos = descontos,
                Resumo = new ContrachequeResumo
                {
                    Referencia = dtReferencia,
                    Bruto = bruto,
                    Descontos = valDescontos,
                    Liquido = liquido,
                    TipoFolha = cdTipoFolha,
                    DesTipoFolha = desTipoFolha,
                    Indice = indice
                }
            });
        }