/// <summary>
        /// Clones this instance.
        /// </summary>
        /// <returns>A copy of this instance.</returns>
        public ProjectParameterObservationDetailFieldViewModel Clone()
        {
            ProjectParameterObservationDetailFieldViewModel other =
                (ProjectParameterObservationDetailFieldViewModel)this.MemberwiseClone();

            return(other);
        }
        /// <summary>
        /// Instances a new project parameter object.
        /// </summary>
        /// <param name="projectParameter">The project parameter to copy information from.</param>
        /// <returns>A new <see cref="ProjectParameterObservationDetailFieldViewModel"/> object.</returns>
        internal static ProjectParameterObservationDetailFieldViewModel Create(ISpeciesObservationProjectParameter projectParameter)
        {
            var field = new ProjectParameterObservationDetailFieldViewModel
            {
                Value = projectParameter.Value,
                Label = projectParameter.Property,
                Name  = projectParameter.Property,
                Class = "Project",
                PropertyIdentifier = projectParameter.PropertyIdentifier,
                Type = projectParameter.Type,
                Unit = projectParameter.Unit
            };

            //field.Importance = ?
            return(field);
        }
        /// <summary>
        /// Instances a new project parameter.
        /// </summary>
        /// <param name="fieldDescription">The field description to copy information from.</param>
        /// <param name="fieldMapping">The field mapping to copy information from.</param>
        /// <returns>A new <see cref="ProjectParameterObservationDetailFieldViewModel"/> object.</returns>
        public static ProjectParameterObservationDetailFieldViewModel Create(
            ISpeciesObservationFieldDescription fieldDescription,
            ISpeciesObservationFieldMapping fieldMapping)
        {
            ProjectParameterObservationDetailFieldViewModel field = new ProjectParameterObservationDetailFieldViewModel();

            field.Label              = fieldDescription.Label;
            field.Name               = fieldDescription.Name;
            field.Class              = "Project"; //fieldDescription.Class.Identifier
            field.Importance         = fieldDescription.Importance;
            field.Type               = fieldDescription.Type;
            field.FieldId            = fieldDescription.Id;
            field.PropertyId         = fieldMapping.Id;
            field.PropertyIdentifier = fieldMapping.PropertyIdentifier;
            field.DataProviderId     = fieldMapping.DataProviderId;
            //field.Unit = ? // just exists in SpeciesObservation class.
            return(field);
        }