public Models.CustomField Convert(Data.CustomField value)
        {
            Models.CustomField field = new Models.CustomField
            {
                ID   = value.ID,
                Name = value.Name,
                Type = value.Type.ToString(),
            };

            if (value.Value != null)
            {
                field.Value = value.Value.ToString();
            }

            return(field);
        }
        public Data.CustomField ReverseConvert(Models.CustomField value)
        {
            try
            {
                Enum.TryParse(value.Type, out FieldType fieldType);
                Data.CustomField field = new Data.CustomField
                {
                    ID   = value.ID,
                    Name = value.Name,
                    Type = fieldType,
                };

                if (value.Value != null)
                {
                    field.Value = ConvertStringToFieldValue(value.Value, fieldType);
                }

                return(field);
            }
            catch (Exception e)
            {
                throw new ConversionException("Could not convert the given argument", e);
            }
        }
        public static Data.CustomField ToDataCustomField(this Models.CustomField customField)
        {
            CustomFieldConverter converter = new CustomFieldConverter();

            return(converter.ReverseConvert(customField));
        }