Esempio n. 1
0
        public Schema DeleteField(long fieldId)
        {
            if (!FieldsById.TryGetValue(fieldId, out var field))
            {
                return(this);
            }

            return(Clone(clone =>
            {
                clone.fieldsOrdered = fieldsOrdered.Remove(field);
            }));
        }
Esempio n. 2
0
        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);
            }));
        }
Esempio n. 3
0
        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));
            }));
        }