using CareFusion.Lib.StorageSystem.Wwks2.Messages.Input;

namespace CareFusion.Lib.StorageSystem.Helpers
{
    /// <summary>
    /// An object that keeps user's options about which properties will be included in <see cref="InputResponse"/> message and if their value will be the default or a custom one set by him.
    /// </summary>
    public class UserInputResponsePropertyOptions
    {
        /// <summary>
        /// The property's name.
        /// </summary>
        public string PropertyName { get; set; }

        /// <summary>
        /// Value indicating if property's value will de default or an overriden set by user.
        /// </summary>
        public bool UseDefaultValue { get; set; }

        /// <summary>
        /// Value indicating if property's value will de same with the corresponding one in input request.
        /// If that property is not part of the input request, will not also be included in response message.
        /// </summary>
        public bool UseInputRequestValue { get; set; }

        /// <summary>
        /// The property's custom value set by user
        /// Value indicating if property's value will de default or an overriden set by user.
        /// </summary>
        /// <remarks>This value is taken in to account iff user has selected to override the default</remarks>
        public string CustomValue { get; set; }
    }
}