/// <summary> /// Regra de negócio que calcula os pontos do campo Situação /// </summary> public void RnCalcularPontosSituacao() { ICollection estorias = Estoria.GetEstoriasPorModulo(this); double ptEmAnalise = 0; double ptPronto = 0; double ptEmDesenv = 0; foreach (Estoria estoria in estorias) { if (estoria.CsSituacao == CsEstoriaDomain.NaoIniciado || estoria.CsSituacao == CsEstoriaDomain.Replanejado) { ptEmAnalise += estoria.NbTamanho; } else if (estoria.CsSituacao == CsEstoriaDomain.Pronto) { ptPronto += estoria.NbTamanho; } else if (estoria.CsSituacao == CsEstoriaDomain.EmDesenv) { ptEmDesenv += estoria.NbTamanho; } } NbPontosEmAnalise = ptEmAnalise; NbPontosPronto = ptPronto; NbPontosEmDesenv = ptEmDesenv; double pontosNaoIniciado = NbPontosTotal - NbPontosEmAnalise - NbPontosPronto - NbPontosEmDesenv; if (pontosNaoIniciado >= 0) { NbPontosNaoIniciado = pontosNaoIniciado; NbPontosDesvio = 0; } else { NbPontosNaoIniciado = 0; NbPontosDesvio = pontosNaoIniciado * -1; } }