internal Translation( CaptureJson capture, Option <Guid> guid = default) { Guid = guid; this.Capture = capture ?? throw new ArgumentNullException(nameof(capture)); }
internal CaptureContext( PageContext pageContext, CaptureJson json, Translation translation, CaptureId captureId) { this.pageContext = pageContext; this.json = json; this.captureId = captureId; this.Translation = translation; }
internal Translation With( CaptureJson json, string originalText = null, string translatedText = null, IEnumerable <GlossNote> glosses = null, IEnumerable <TranslatorNote> notes = null, IEnumerable <TranslatedText> alternativeTranslations = null) { var other = new Translation(json, this.Guid); other.Capture.Text = originalText ?? this.OriginalText; other.Capture.Translation = translatedText ?? this.TranslatedText; other.Capture.GlossNotes = (glosses ?? this.Glosses)?.Select(g => new NoteJson(g.Foreign, g.Text)).ToList() ?? new List <NoteJson>(); other.Capture.Notes = (notes ?? this.Notes).Select(g => new NoteJson(g.SideText, g.Text)).ToList(); return(other); }