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); }
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; } }