/// <summary> /// Método usado para passar dados de uma Estória (que está em uma sessão) para outra (que está em outra /// sessão) /// </summary> /// <param name="session">Nova sessão</param> /// <param name="current">Estoria Corrente</param> /// <param name="estoria">Estoria Antiga</param> public static void GetDadosEstoriaCurrent(Session session, Estoria current, Estoria estoria) { if (estoria != null) { current.ComoUmBeneficiado = session.GetObjectByKey <Beneficiado>(estoria.ComoUmBeneficiado.Oid); current.ProjetoParteInteressada = session.GetObjectByKey <ProjetoParteInteressada>(estoria.ProjetoParteInteressada.Oid); current.Modulo = session.GetObjectByKey <Modulo>(estoria.Modulo.Oid); if (estoria.EstoriaPai != null) { current.EstoriaPai = session.GetObjectByKey <Estoria>(estoria.EstoriaPai.Oid); } } }
/// <summary> /// Método que substitui o valor da estória pai antiga pelo valor novo /// </summary> protected override void OnLoaded() { base.OnLoaded(); estoriaPaiOld = EstoriaPai; if (moduloOld == null) { moduloOld = Modulo; } _NbPrioridadeOld = NbPrioridade; _CsSituacaoOld = CsSituacao; }
/// <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; } }
/// <summary> /// Busca a sessão, id do modulo e id da estoria no BD /// </summary> /// <param name="session">session</param> /// <param name="modulo">Modulo</param> /// <param name="estoriaPai">EstoriaPai</param> /// <returns>return</returns> private static XPCollection GetEstoriaFilhos(Session session, Modulo modulo, Estoria estoriaPai) { return(new XPCollection(session, typeof(Estoria), CriteriaOperator.Parse(String.Format("Modulo.Oid = '{0}' AND EstoriaPai = '{1}' ", modulo.Oid, estoriaPai.Oid)))); }