Пример #1
0
        public bool ValidateBibTeXRequiredField(IBibTeXEntry entry, PropertyInfo property)
        {
            var entryName  = _attributeReader.GetBibTeXEntryName(entry);
            var fieldName  = _attributeReader.GetBibTeXFieldName(property);
            var fieldValue = property.GetValue(entry);

            if (IsBibTeXFieldValueNone(fieldValue))
            {
                throw new RequiredFieldException(entryName, fieldName);
            }

            return(true);
        }
Пример #2
0
        public void SerializeBibTeXEntry(StringBuilder stringBuilder, IBibTeXEntry entry)
        {
            var entryName = _attributeReader.GetBibTeXEntryName(entry);
            var fields    = _attributeReader.GetBibTeXFieldsWithValues(entry);

            stringBuilder.Append(BibTeXBeginEntryCharacter);
            stringBuilder.Append(entryName);
            stringBuilder.Append(BibTeXBeginFieldsCharacter);
            stringBuilder.Append(entry.CitationKey);

            SerializeBibTeXFields(stringBuilder, fields);

            if (FormatStyle == BibTeXFormatStyle.Readable)
            {
                stringBuilder.Append("\n");
            }

            stringBuilder.Append(BibTeXEndFieldsCharacter);
            stringBuilder.Append("\n");
        }