Esempio n. 1
0
        private IEnumerable <BeneficiarioTabelaPreco> CalcularPrecoDaFamiliaPorContrato(long idContrato)
        {
            using (var contexto = new ComercialContext())
            {
                var beneficiariosCalculados = new List <BeneficiarioTabelaPreco>();

                var contrato           = contexto.Contrato.FirstOrDefault(f => f.Id == idContrato);
                var produto            = contexto.Produtos.FirstOrDefault(f => f.Id == contrato.ProdutosId);
                var familiasDoContrato = contexto.Familia.Where(p => p.ContratoId == idContrato);
                foreach (var familia in familiasDoContrato)
                {
                    var beneficiariosDaFamilia = contexto.Beneficiarios.Where(p => p.FamiliaId == familia.Id);
                    foreach (var beneficiario in beneficiariosDaFamilia)
                    {
                        var idade       = CalculaIdade(beneficiario.DataNascimento);
                        var tabelaPreco = contexto.TabelaDeValores.Where(p => p.ProdutosId == produto.Id && p.IdadeMaxima <= idade).OrderByDescending(o => o.IdadeMaxima).FirstOrDefault();
                        if (tabelaPreco.Valor != 0)
                        {
                            beneficiariosCalculados.Add(new BeneficiarioTabelaPreco(beneficiario, tabelaPreco));
                        }
                        else
                        {
                            beneficiariosCalculados.Add(new BeneficiarioTabelaPreco(beneficiario, null));
                        }
                    }
                }
                return(beneficiariosCalculados);
            }
        }
Esempio n. 2
0
 public IEnumerable <BeneficiarioTabelaPreco> CalcularPorFamiliaPorContrato(long idFamilia)
 {
     using (var contexto = new ComercialContext())
     {
         var familia = contexto.Familia.FirstOrDefault(p => p.Id == idFamilia);
         return(CalcularPrecoDaFamiliaPorContrato(familia.ContratoId));
     }
 }
        public IEnumerable <FamiliaTabelaPreco> CalcularPorFamilia(long idFamilia)
        {
            using (var contexto = new ComercialContext())
            {
                var familiasTabelaPreco = new List <FamiliaTabelaPreco>();
                var familia             = contexto.Familia.FirstOrDefault(p => p.Id == idFamilia);

                var familiaTabelaPreco = new FamiliaTabelaPreco();
                familiaTabelaPreco.Familia = familia;
                familiaTabelaPreco.BeneficiarioTabelaPreco = CalcularPorFamiliaPorContrato(idFamilia);

                familiasTabelaPreco.Add(familiaTabelaPreco);
                return(familiasTabelaPreco);
            }
        }
        public IEnumerable <FamiliaTabelaPreco> CalcularPorEmpresa(long idEmpresa)
        {
            using (var contexto = new ComercialContext())
            {
                var familiasTabelaPreco = new List <FamiliaTabelaPreco>();

                var familias = contexto.Familia.Where(p => p.EmpresaId == idEmpresa);
                foreach (var familia in familias)
                {
                    var familiaTabelaPreco = new FamiliaTabelaPreco();
                    familiaTabelaPreco.Familia = familia;
                    familiaTabelaPreco.BeneficiarioTabelaPreco = CalcularPorFamiliaPorContrato(familia.Id);

                    familiasTabelaPreco.Add(familiaTabelaPreco);
                }

                return(familiasTabelaPreco);
            }
        }