Example #1
0
        /// <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;
            }
        }