/// ------------------------------------------------------------------------------------ /// <summary> /// Initializes a new instance of the <see cref="FilteredSequenceHandler"/> class. /// </summary> /// <param name="cache">The FDO cache</param> /// <param name="owningClassId">The ID of the class which will own this virtual /// property</param> /// <param name="filterInstance">Number used to make filters unique for each main /// window</param> /// <param name="filter">A CmFilter that specifies the details of how to filter the /// notes (can be null)</param> /// <param name="sortMethod">TODO (TE-3941): use this. A CmSortSpec that specifies the /// details of how to sort the notes (can be null)</param> /// <param name="flidProvider">The method that provides the flid that is used to /// retrieve all records.</param> /// ------------------------------------------------------------------------------------ public FilteredSequenceHandler(FdoCache cache, int owningClassId, int filterInstance, IFilter filter, ISortSpec sortMethod, IFlidProvider flidProvider) { m_cache = cache; m_filter = filter; m_flidProvider = flidProvider; if (m_filter != null) { m_filter.InitCriteria(); } m_sortMethod = sortMethod; ClassName = m_cache.GetClassName((uint)owningClassId); FieldName = GetVirtualPropertyName(filter, sortMethod, filterInstance); Type = (int)CellarModuleDefns.kcptReferenceSequence; ComputeEveryTime = false; cache.InstallVirtualProperty(this); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Initializes a new instance of the <see cref="FilteredScrBooks"/> class. /// </summary> /// <param name="cache"></param> /// <param name="filterInstance"></param> /// ------------------------------------------------------------------------------------ public FilteredScrBooks(FdoCache cache, int filterInstance) { m_cache = cache; m_scr = m_cache.LangProject.TranslatedScriptureOA; ClassName = kFilteredClass; FieldName = kFilteredField + "_" + filterInstance; Type = (int) CellarModuleDefns.kcptReferenceSequence; // Due to the possibility of a book being deleted from the database by an // undo request after an insert of a book, we cannot store the filtered books // in the cache. Instead, we use the ComputeEveryTime flag so that the load // method will be called every time that the filtered books sequence is accessed. ComputeEveryTime = true; cache.InstallVirtualProperty(this); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Initializes a new instance of the <see cref="FilteredSequenceHandler"/> class. /// </summary> /// <param name="cache">The FDO cache</param> /// <param name="owningClassId">The ID of the class which will own this virtual /// property</param> /// <param name="filterInstance">Number used to make filters unique for each main /// window</param> /// <param name="filter">A CmFilter that specifies the details of how to filter the /// notes (can be null)</param> /// <param name="sortMethod">TODO (TE-3941): use this. A CmSortSpec that specifies the /// details of how to sort the notes (can be null)</param> /// <param name="flidProvider">The method that provides the flid that is used to /// retrieve all records.</param> /// ------------------------------------------------------------------------------------ public FilteredSequenceHandler(FdoCache cache, int owningClassId, int filterInstance, IFilter filter, ISortSpec sortMethod, IFlidProvider flidProvider) { m_cache = cache; m_filter = filter; m_flidProvider = flidProvider; if (m_filter != null) m_filter.InitCriteria(); m_sortMethod = sortMethod; ClassName = m_cache.GetClassName((uint)owningClassId); FieldName = GetVirtualPropertyName(filter, sortMethod, filterInstance); Type = (int) CellarModuleDefns.kcptReferenceSequence; ComputeEveryTime = false; cache.InstallVirtualProperty(this); }