예제 #1
0
            /// <summary>
            /// This property represents the length of the list of paragraphs of the specified
            /// StText.  We implement load by reading the length of the vector from the DA, and
            /// caching it as the value of the virtual property.
            /// </summary>
            /// <param name="hvo"></param>
            /// <param name="tag"></param>
            /// <param name="ws"></param>
            /// <param name="cda"></param>
            public override void Load(int hvo, int tag, int ws,
                                      SIL.FieldWorks.Common.COMInterfaces.IVwCacheDa cda)
            {
                ISilDataAccess sda = (ISilDataAccess)cda;

                cda.CacheIntProp(hvo, tag, sda.get_VecSize(hvo,
                                                           (int)StText.StTextTags.kflidParagraphs));
            }
예제 #2
0
        /// <summary>
        /// Required method to load the data.
        /// </summary>
        /// <param name="hvo"></param>
        /// <param name="tag"></param>
        /// <param name="ws"></param>
        /// <param name="_cda"></param>
        public override void Load(int hvo, int tag, int ws, SIL.FieldWorks.Common.COMInterfaces.IVwCacheDa _cda)
        {
            // Need to get stem.PartOfSpeech instead of cn.Obj because cn.Obj and cn.Txt may be null!  See LT-6828.
            string sql = "select ls.id, ls.MorphoSyntaxAnalysis, msao.Owner$, msao.class$, ms.txt, ms.fmt, stem.PartOfSpeech, cn.txt from LexSense ls"
                         + " left outer join MultiStr$ ms on ms.obj = ls.id and ms.flid = 5016005 and ms.ws = " + m_cache.DefaultAnalWs
                         + " left outer join MoStemMsa stem on stem.id = ls.MorphoSyntaxAnalysis"
                         + " left outer join CmPossibility_Name cn on stem.PartOfSpeech = cn.obj and cn.ws = " + m_cache.DefaultAnalWs
                         + " left outer join CmObject msao on msao.id = ls.MorphoSyntaxAnalysis";
            IVwOleDbDa dba = m_cache.VwOleDbDaAccessor;
            IDbColSpec dcs = DbColSpecClass.Create();

            dcs.Push((int)DbColType.koctObjVec, 0, this.Tag, 0);
            dcs.Push((int)DbColType.koctObj, 1, (int)LexSense.LexSenseTags.kflidMorphoSyntaxAnalysis, 0);
            dcs.Push((int)DbColType.koctObj, 2, (int)CmObjectFields.kflidCmObject_Owner, 0);
            dcs.Push((int)DbColType.koctInt, 2, (int)CmObjectFields.kflidCmObject_Class, 0);
            dcs.Push((int)DbColType.koctMlsAlt, 1, (int)LexSense.LexSenseTags.kflidDefinition, m_cache.DefaultAnalWs);
            dcs.Push((int)DbColType.koctFmt, 1, (int)LexSense.LexSenseTags.kflidDefinition, m_cache.DefaultAnalWs);
            dcs.Push((int)DbColType.koctObj, 2, (int)MoStemMsa.MoStemMsaTags.kflidPartOfSpeech, 0);
            dcs.Push((int)DbColType.koctMltAlt, 7, (int)CmPossibility.CmPossibilityTags.kflidName, m_cache.DefaultAnalWs);
            dba.Load(sql, dcs, hvo, 0, null, false);
        }