/// <summary>
 /// Initializes a new instance of the <see cref="UPFixedCatalogEditFieldContext"/> class.
 /// </summary>
 /// <param name="fieldConfig">
 /// The field configuration.
 /// </param>
 /// <param name="fieldIdentifier">
 /// The field identifier.
 /// </param>
 /// <param name="value">
 /// The value.
 /// </param>
 public UPFixedCatalogEditFieldContext(
     WebConfigLayoutField fieldConfig,
     IIdentifier fieldIdentifier,
     string value)
     : base(fieldConfig, fieldIdentifier, value)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="UPEditFieldContext"/> class.
 /// </summary>
 /// <param name="fieldConfig">
 /// The field configuration.
 /// </param>
 /// <param name="fieldIdentifier">
 /// The field identifier.
 /// </param>
 /// <param name="value">
 /// The value.
 /// </param>
 public UPEditFieldContext(WebConfigLayoutField fieldConfig, IIdentifier fieldIdentifier, string value)
 {
     this.FieldConfig     = null;
     this.FieldId         = -1;
     this.OriginalValue   = value;
     this.initialValue    = value;
     this.ChildFields     = null;
     this.FieldIdentifier = fieldIdentifier;
     this.WebConfigField  = fieldConfig;
     this.Key             = fieldConfig.ValueName;
     this.UniqueKey       = NextKey;
 }
        /// <summary>
        /// Fields the context for web configuration parameter field identifier value.
        /// </summary>
        /// <param name="fieldConfig">
        /// The field configuration.
        /// </param>
        /// <param name="fieldIdentifier">
        /// The field identifier.
        /// </param>
        /// <param name="value">
        /// The value.
        /// </param>
        /// <returns>
        /// The <see cref="UPEditFieldContext"/>.
        /// </returns>
        public static UPEditFieldContext FieldContextForWebConfigParameterFieldIdentifierValue(
            WebConfigLayoutField fieldConfig,
            IIdentifier fieldIdentifier,
            string value)
        {
            if (fieldConfig?.Options?.Count > 0)
            {
                return(new UPOptionsEditFieldContext(fieldConfig, fieldIdentifier, value));
            }

            if (fieldConfig?.FieldType == "Checkbox")
            {
                return(new UPBooleanEditFieldContext(fieldConfig, fieldIdentifier, value));
            }

            return(new UPEditFieldContext(fieldConfig, fieldIdentifier, value));
        }
        /// <summary>
        /// Applies the result row.
        /// </summary>
        /// <param name="row">The row.</param>
        /// <returns></returns>
        public override UPMGroup ApplyResultRow(UPCRMResultRow row)
        {
            IConfigurationUnitStore configStore = ConfigurationUnitStore.DefaultStore;
            bool             hideEmptyFields    = configStore.ConfigValueIsSet("SettingsView.HideEmptyFields");
            UPMStandardGroup detailGroup        = null;
            int fieldCount = this.LayoutTab.FieldCount;

            for (int j = 0; j < fieldCount; j++)
            {
                WebConfigLayoutField fieldDef        = this.LayoutTab.FieldAtIndex(j);
                IIdentifier          fieldIdentifier = StringIdentifier.IdentifierWithStringId(fieldDef.ValueName);
                string fieldValue    = configStore.ConfigValue(fieldDef.ValueName);
                bool   hasFieldValue = !string.IsNullOrEmpty(fieldValue);

                if (!hasFieldValue && hideEmptyFields)
                {
                    continue;
                }

                var field = new UPMStringField(fieldIdentifier)
                {
                    StringValue = fieldDef.DisplayValueForValue(fieldValue),
                    LabelText   = fieldDef.Label
                };
                if (detailGroup == null)
                {
                    detailGroup           = new UPMStandardGroup(StringIdentifier.IdentifierWithStringId($"{this.Layout.UnitName}_{this.TabIndex}"));
                    detailGroup.LabelText = this.TabLabel;
                }

                detailGroup.AddField(field);
            }

            this.Group           = detailGroup;
            this.ControllerState = (detailGroup == null) ? GroupModelControllerState.Empty : GroupModelControllerState.Finished;
            return(detailGroup);
        }
Beispiel #5
0
        /// <summary>
        /// Applies the result row.
        /// </summary>
        /// <param name="row">The row.</param>
        /// <returns></returns>
        public override UPMGroup ApplyResultRow(UPCRMResultRow row)
        {
            IConfigurationUnitStore configStore = ConfigurationUnitStore.DefaultStore;
            UPMStandardGroup        detailGroup = null;
            int fieldCount = this.LayoutTab.FieldCount;
            List <UPEditFieldContext> editFieldContextArray = new List <UPEditFieldContext>(fieldCount);

            for (int j = 0; j < fieldCount; j++)
            {
                WebConfigLayoutField fieldDef        = this.LayoutTab.FieldAtIndex(j);
                IIdentifier          fieldIdentifier = StringIdentifier.IdentifierWithStringId(fieldDef.ValueName);
                string             fieldValue        = configStore.ConfigValue(fieldDef.ValueName);
                UPEditFieldContext editFieldContext  = UPEditFieldContext.FieldContextForWebConfigParameterFieldIdentifierValue(fieldDef, fieldIdentifier, fieldValue);
                if (editFieldContext == null)
                {
                    continue;
                }

                editFieldContextArray.Add(editFieldContext);
                if (detailGroup == null)
                {
                    detailGroup           = new UPMStandardGroup(StringIdentifier.IdentifierWithStringId($"{this.Layout.UnitName}_{this.TabIndex}"));
                    detailGroup.LabelText = this.TabLabel;
                }

                foreach (UPMEditField editField in editFieldContext.EditFields)
                {
                    detailGroup.AddField(editField);
                }
            }

            this.EditFieldContexts = editFieldContextArray;
            this.Group             = detailGroup;
            this.ControllerState   = (detailGroup == null) ? GroupModelControllerState.Empty : GroupModelControllerState.Finished;
            return(detailGroup);
        }
Beispiel #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UPOptionsEditFieldContext"/> class.
 /// </summary>
 /// <param name="fieldConfig">
 /// The field configuration.
 /// </param>
 /// <param name="fieldIdentifier">
 /// The field identifier.
 /// </param>
 /// <param name="value">
 /// The value.
 /// </param>
 public UPOptionsEditFieldContext(WebConfigLayoutField fieldConfig, IIdentifier fieldIdentifier, string value)
     : base(fieldConfig, fieldIdentifier, value)
 {
     this.options = fieldConfig.OptionDictionary;
 }
Beispiel #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UPNumberEditFieldContext"/> class.
 /// </summary>
 /// <param name="fieldConfig">
 /// The field configuration.
 /// </param>
 /// <param name="fieldIdentifier">
 /// The field identifier.
 /// </param>
 /// <param name="value">
 /// The value.
 /// </param>
 public UPNumberEditFieldContext(WebConfigLayoutField fieldConfig, IIdentifier fieldIdentifier, string value)
     : base(fieldConfig, fieldIdentifier, value)
 {
 }
Beispiel #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UPParticipantsEditFieldContext"/> class.
 /// </summary>
 /// <param name="fieldConfig">The field configuration.</param>
 /// <param name="fieldIdentifier">The field identifier.</param>
 /// <param name="value">The value.</param>
 public UPParticipantsEditFieldContext(WebConfigLayoutField fieldConfig, IIdentifier fieldIdentifier, string value)
     : base(fieldConfig, fieldIdentifier, value)
 {
 }
Beispiel #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UPRecordSelectorEditFieldContext"/> class.
 /// </summary>
 /// <param name="fieldConfig">The field configuration.</param>
 /// <param name="fieldIdentifier">The field identifier.</param>
 /// <param name="value">The value.</param>
 public UPRecordSelectorEditFieldContext(WebConfigLayoutField fieldConfig, IIdentifier fieldIdentifier, string value)
     : base(fieldConfig, fieldIdentifier, value)
 {
 }