public static MarcRecord SetSubField ( [NotNull] this MarcRecord record, int tag, int fieldOccurrence, char code, int subFieldOccurrence, [CanBeNull] string newValue ) { Sure.NotNull(record, "record"); Sure.Positive(tag, "tag"); RecordField field = record.Fields.GetField(tag, fieldOccurrence); if (!ReferenceEquals(field, null)) { SubField subField = field.GetSubField(code, subFieldOccurrence); if (!ReferenceEquals(subField, null)) { subField.Value = newValue; } } return(record); }
public static string GetSubFieldValue ( [CanBeNull] this SubField subField ) { return(ReferenceEquals(subField, null) ? null : subField.Value); }
/// <summary> /// Restore subfield from JSON. /// </summary> public static SubField FromJson ( [NotNull] string text ) { Sure.NotNullNorEmpty(text, "text"); SubField result = JsonConvert.DeserializeObject <SubField>(text); return(result); }
public static JObject ToJObject ( [NotNull] this SubField subField ) { Sure.NotNull(subField, "subField"); JObject result = JObject.FromObject(subField); return(result); }
public static string ToJson ( [NotNull] this SubField subField ) { Sure.NotNull(subField, "subField"); string result = JsonUtility.SerializeShort(subField); //JObject.FromObject(subField).ToString(); return(result); }
public Field Add ( char code, object?value ) { var text = value?.ToString(); var subfield = new SubField { Code = code, Value = text }; Subfields.Add(subfield); return(this); } // method Add
public static SubField FromJObject ( [NotNull] JObject jObject ) { Sure.NotNull(jObject, "jObject"); SubField result = new SubField ( jObject["code"].ToString()[0] ); JToken value = jObject["value"]; if (value != null) { result.Value = value.ToString(); } return(result); }
public Field AddNonEmpty ( char code, object?value ) { if (!ReferenceEquals(value, null)) { var text = value.ToString(); if (!string.IsNullOrEmpty(text)) { var subfield = new SubField { Code = code, Value = text }; Subfields.Add(subfield); } } return(this); } // method AddNonEmpty
public static SubField GetFirstSubField ( [NotNull] this SubFieldCollection subFields, char code, [CanBeNull] string value ) { Sure.NotNull(subFields, "subFields"); int count = subFields.Count; for (int i = 0; i < count; i++) { SubField subField = subFields[i]; if (subField.Code.SameChar(code) && subField.Value.SameStringSensitive(value)) { return(subField); } } return(null); }