public Schema DeleteField(long fieldId) { if (!FieldsById.TryGetValue(fieldId, out var field)) { return(this); } return(Clone(clone => { clone.fieldsOrdered = fieldsOrdered.Remove(field); })); }
public Schema DeleteField(long fieldId) { if (!FieldsById.TryGetValue(fieldId, out var field)) { return(this); } return(Clone(clone => { clone.fields = fields.Remove(fieldId); clone.fieldsInLists = fieldsInLists.Remove(field.Name); clone.fieldsInReferences = fieldsInReferences.Remove(field.Name); })); }
public Schema UpdateField(long fieldId, Func <Field, Field> updater) { Guard.NotNull(updater, nameof(updater)); if (!FieldsById.TryGetValue(fieldId, out var field)) { return(this); } return(Clone(clone => { clone.fieldsOrdered = clone.fieldsOrdered.Replace(field, updater(field)); })); }