Usuário com melhor resposta
Criando um loop

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
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
Todas as 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