예제 #1
0
        //---------------------------------------------------------------
        private void CalculeFils()
        {
            m_listeFils = new List <CDessinSatisfaction>();
            ISatisfactionBesoinAvecSousBesoins satB = Satisfaction as ISatisfactionBesoinAvecSousBesoins;

            if (satB != null)
            {
                foreach (CBesoin besoin in satB.GetSousBesoinsDeSatisfactionDirects())
                {
                    if (!m_niveau.BaseSatisfactions.IsDejaIntegréee(besoin))
                    {
                        CDessinSatisfaction dessin = new CDessinSatisfaction(m_niveau, besoin);
                        dessin.m_dessinParent = this;
                        m_listeFils.Add(dessin);
                        m_niveau.AddSatisfactionVisible(dessin);
                    }
                }
                foreach (ISatisfactionBesoin sousSat in satB.GetSousSatisfactions())
                {
                    if (!m_niveau.BaseSatisfactions.IsDejaIntegréee(sousSat))
                    {
                        CDessinSatisfaction dessin = new CDessinSatisfaction(m_niveau, sousSat);
                        dessin.m_dessinParent = this;
                        m_listeFils.Add(dessin);
                        m_niveau.AddSatisfactionVisible(dessin);
                    }
                }
            }
        }
예제 #2
0
        //---------------------------------------------------
        public void Init(List <ISatisfactionBesoin> lstSatisfactions)
        {
            m_dicSatisfactionToDessin = new Dictionary <ISatisfactionBesoin, CDessinSatisfaction>();
            m_listeNiveaux            = new List <CNiveauMapSatisfaction>();

            //Création du niveau 0
            CNiveauMapSatisfaction niveau = new CNiveauMapSatisfaction(this, 0);

            m_listeNiveaux.Add(niveau);
            foreach (ISatisfactionBesoin satisfaction in lstSatisfactions)
            {
                if (!IsDejaIntegréee(satisfaction))
                {
                    CDessinSatisfaction dessin = new CDessinSatisfaction(niveau, satisfaction);
                    niveau.AddSatisfactionVisible(dessin);
                }
            }
            RecalculePrecedents(niveau);
            RecalculeSuivants(niveau);
        }