none
Criando um loop RRS feed

  • Pergunta

  • Alguém pode me ajudar ? Preciso fazer agora outro loop. "Somatório do rateio dos Beneficiários, com operação diferente de "exclusão", difere de 100%". Ou seja, tenho que calcular o somatório do rateio de cada Beneficiário, comparar e verificar se a soma dá 100%. Se não der, exibe a mensagem : " Rateio dos Beneficiários diferente de 100%".

    Está correto o que eu fiz ? 

    Segue o código:

    var listaBeneficiarios = servicoBeneficiarioProposta.SelecionarTodos(propostaInscricao);
                    int conj_comp = 0;
    
                    foreach (var beneficiario in listaBeneficiarios)
                    {
                        if (beneficiario.Parentesco.Id == Parentesco.CONJUGE || beneficiario.Parentesco.Id == Parentesco.COMPANHEIRO)
                            conj_comp++;
    
                        if (conj_comp > 1)
                            break;
    
                        if (conj_comp > 1)
                        {
                            ModelState.AddModelError("", "Existe mais de uma ocorrência de cônjuge/companheiro.");
                        }
    
                        var rateio = beneficiario.Rateio;
                       
                        if (beneficiario.IdOperacaoProposta != OperacaoProposta.OPERACAO_PROPOSTA_EXCLUSAO)
                        {
                            var somatorio = rateio++;
    
                            if (somatorio != 100)
                            {
                                ModelState.AddModelError("", "Rateio dos beneficiários diferente de 100%");
                            }
                        }
                    }

    • Editado renatafx quinta-feira, 10 de outubro de 2013 12:10
    quinta-feira, 10 de outubro de 2013 11:54

Respostas

  • Obrigada pelas ajudas de algumas pessoas aqui.

    Resolvido:

    var listaBeneficiarios = servicoBeneficiarioProposta.SelecionarTodos(propostaInscricao);
                int conjuge = 0;
                float rateio = 0;
                float somatorio = 0;
    
                foreach (var beneficiario in listaBeneficiarios)
                {
                    if (beneficiario.Parentesco.Id == Parentesco.CONJUGE || beneficiario.Parentesco.Id == Parentesco.COMPANHEIRO)
                        conjuge++;
    
                    if (beneficiario.IdOperacaoProposta != OperacaoProposta.OPERACAO_PROPOSTA_EXCLUSAO)
                    {
                        rateio = beneficiario.Rateio;
                        somatorio += rateio;
                    }
                }
    
                if (conjuge > Parentesco.LIMITE)
                {
                    ModelState.AddModelError("", "Existe mais de uma ocorrência de cônjuge/companheiro.");
                }
    
                if (somatorio != BeneficiarioProposta.LIMITE_RATEIOS)
                {
                    ModelState.AddModelError("", "Rateio dos beneficiários diferente de 100%");
                    
                }


    • Marcado como Resposta renatafx quinta-feira, 17 de outubro de 2013 12:19
    quinta-feira, 17 de outubro de 2013 12:18

Todas as Respostas

  • Cara não entendi muito não, onde está a operação que soma os rateios que você quer?

    ATT.

    quinta-feira, 10 de outubro de 2013 16:20
  • Obrigada pelas ajudas de algumas pessoas aqui.

    Resolvido:

    var listaBeneficiarios = servicoBeneficiarioProposta.SelecionarTodos(propostaInscricao);
                int conjuge = 0;
                float rateio = 0;
                float somatorio = 0;
    
                foreach (var beneficiario in listaBeneficiarios)
                {
                    if (beneficiario.Parentesco.Id == Parentesco.CONJUGE || beneficiario.Parentesco.Id == Parentesco.COMPANHEIRO)
                        conjuge++;
    
                    if (beneficiario.IdOperacaoProposta != OperacaoProposta.OPERACAO_PROPOSTA_EXCLUSAO)
                    {
                        rateio = beneficiario.Rateio;
                        somatorio += rateio;
                    }
                }
    
                if (conjuge > Parentesco.LIMITE)
                {
                    ModelState.AddModelError("", "Existe mais de uma ocorrência de cônjuge/companheiro.");
                }
    
                if (somatorio != BeneficiarioProposta.LIMITE_RATEIOS)
                {
                    ModelState.AddModelError("", "Rateio dos beneficiários diferente de 100%");
                    
                }


    • Marcado como Resposta renatafx quinta-feira, 17 de outubro de 2013 12:19
    quinta-feira, 17 de outubro de 2013 12:18