示例#1
0
        private void UpdatePhraseLayerFor(ClauseBuilder clauseBuilder)
        {
            LayerPhrase dbSavedPhraseLayer;
            LayerPhrase existingPhraseLayer = LayerPhrases.FirstOrDefault(phraseLayer => phraseLayer.ID.Equals(clauseBuilder.FlexDB_ID));

            if (existingPhraseLayer != null)
            {
                dbSavedPhraseLayer = existingPhraseLayer;
            }
            else
            {
                dbSavedPhraseLayer = new LayerPhrase {
                    ID = clauseBuilder.FlexDB_ID
                };
                LayerPhrases.InsertOnSubmit(dbSavedPhraseLayer);
            }
            dbSavedPhraseLayer.DiscourseFunction = clauseBuilder.DiscourseFunctionSpecified ? (byte)clauseBuilder.DiscourseFunction : null;
            dbSavedPhraseLayer.Appositive        = clauseBuilder.AppositiveSpecified ? clauseBuilder.Appositive : null;
            UpdateLayerPhrase(dbSavedPhraseLayer);
        }
示例#2
0
        private void UpdatePhraseLayersFor(PhraseBuilder phraseBuilder)
        {
            LayerPhrase dbSavedPhraseLayer;
            LayerPhrase existingPhraseLayer = LayerPhrases.FirstOrDefault(phraseLayer => phraseLayer.ID.Equals(phraseBuilder.FlexDB_ID));

            if (existingPhraseLayer != null)
            {
                dbSavedPhraseLayer = existingPhraseLayer;
            }
            else
            {
                dbSavedPhraseLayer = new LayerPhrase {
                    ID = phraseBuilder.FlexDB_ID
                };
                LayerPhrases.InsertOnSubmit(dbSavedPhraseLayer);
            }
            dbSavedPhraseLayer.DiscourseFunction = phraseBuilder.DiscourseFunctionSpecified ? (byte)phraseBuilder.DiscourseFunction : null;
            dbSavedPhraseLayer.Appositive        = phraseBuilder.AppositiveSpecified ? phraseBuilder.Appositive : null;
            UpdateLayerPhrase(dbSavedPhraseLayer);
            switch (phraseBuilder)
            {
            case NounPhraseBuilder nounPhrase:
                UpdateNounPhraseLayerFor(nounPhrase);
                break;

            case VerbPhraseBuilder verbPhrase:
                UpdateVerbPhraseLayerFor(verbPhrase);
                break;

            case AdjectivePhraseBuilder adjectivePhrase:
                UpdateAdjectivePhraseLayerFor(adjectivePhrase);
                break;

            case AdverbPhraseBuilder adverbPhrase:
                UpdateAdverbPhraseLayerFor(adverbPhrase);
                break;

            default: break;
            }
        }