コード例 #1
0
                public CListeObjetsDonnees GetRelations(ISatisfactionBesoin satisfaction)
                {
                    DateLastAcces = DateTime.Now;
                    CCacheRelation cache = null;
                    CFiltreData    filtre;

                    if (!m_dicCaches.TryGetValue(GetKey(satisfaction), out cache))
                    {
                        filtre = new CFiltreData(
                            CRelationBesoin_Satisfaction.c_champTypeElement + "=@1 and " +
                            CRelationBesoin_Satisfaction.c_champIdElement + "=@2",
                            satisfaction.GetType().ToString(),
                            satisfaction.Id);
                        CListeObjetsDonnees liste = new CListeObjetsDonnees(satisfaction.ContexteDonnee, typeof(CRelationBesoin_Satisfaction), filtre);
                        liste.PreserveChanges = true;
                        SetRelations(satisfaction, liste);
                        return(liste);
                    }
                    filtre = new CFiltreDataImpossible();
                    if (cache.Ids.Count > 0)
                    {
                        filtre = new CFiltreData(CRelationBesoin_Satisfaction.c_champId + " in (" + cache.IdsPourFiltre + ")");
                    }
                    else
                    {
                        filtre = new CFiltreDataImpossible();
                    }
                    CListeObjetsDonnees lstOptim = new CListeObjetsDonnees(satisfaction.ContexteDonnee, typeof(CRelationBesoin_Satisfaction), filtre);

                    lstOptim.PreserveChanges     = true;
                    lstOptim.InterditLectureInDB = true;
                    return(lstOptim);
                }
コード例 #2
0
                public void SetRelations(ISatisfactionBesoin satisfaction, CListeObjetsDonnees relations)
                {
                    CCacheRelation cache = new CCacheRelation();

                    foreach (CRelationBesoin_Satisfaction rel in relations)
                    {
                        cache.AddRelation(rel);
                    }
                    m_dicCaches[GetKey(satisfaction)] = cache;
                }
コード例 #3
0
                //-------------------------------------------------------------------
                public void Reset(ISatisfactionBesoin satisfaction)
                {
                    DateLastAcces = DateTime.Now;
                    CCacheRelation cache = null;

                    if (m_dicCaches.TryGetValue(GetKey(satisfaction), out cache))
                    {
                        m_dicCaches.Remove(GetKey(satisfaction));
                    }
                }