/// <summary>
        /// Creates the field.
        /// </summary>
        /// <returns>
        /// The <see cref="UPMField"/>.
        /// </returns>
        public virtual UPMField CreateField()
        {
            UPMField field = this.CreateEditField();

            field.ExternalKey      = this.UniqueKey;
            field.EditFieldContext = this;
            return(field);
        }
Example #2
0
        /// <summary>
        /// Adds the field.
        /// </summary>
        /// <param name="field">
        /// The field.
        /// </param>
        public override void AddField(UPMField field)
        {
            if (this.Children == null || this.Children.Count > 0)
            {
                return;
            }

            this.AddChild(field);
        }
        /// <summary>
        /// Groups the of field.
        /// </summary>
        /// <param name="field">The field.</param>
        /// <returns></returns>
        public UPMGroup GroupOfField(UPMField field)
        {
            foreach (UPMGroup group in this.Groups)
            {
                var fields = group.Fields;
                if (fields.Contains(field))
                {
                    return(group);
                }
            }

            return(null);
        }
        /// <summary>
        /// Initializes the field.
        /// </summary>
        /// <returns>
        /// The <see cref="UPMField"/>.
        /// </returns>
        private UPMField InitField()
        {
            if (this.field != null)
            {
                return(this.field);
            }

            this.field = this.CreateField();
            if (this.field == null)
            {
                return(null);
            }

            this.SetValue(this.InitialEditFieldValue);
            if (this.FieldConfig == null)
            {
                return(this.field);
            }

            if (this.FieldConfig.Attributes.NoLabel)
            {
                return(this.field);
            }

            if (!string.IsNullOrEmpty(this.FieldLabelPostfix))
            {
                this.field.LabelText =
                    this.FieldConfig.Label.StringByReplacingOccurrencesOfParameterWithIndexWithString(
                        0,
                        this.FieldLabelPostfix);
            }
            else
            {
                this.field.LabelText = this.FieldConfig.Label;
            }

            return(this.field);
        }
 /// <summary>
 /// Adds the main field.
 /// </summary>
 /// <param name="field">The field.</param>
 public void AddMainField(UPMField field)
 {
     this.mainFields.Add(field);
 }
 /// <summary>
 /// Adds the field.
 /// </summary>
 /// <param name="field">The field.</param>
 public void AddField(UPMField field)
 {
     this.fields.Add(field);
 }
 /// <summary>
 /// Sets the attributes on field.
 /// </summary>
 /// <param name="attributes">The attributes.</param>
 /// <param name="element">The element.</param>
 public static void SetAttributesOnField(FieldAttributes attributes, UPMField element)
 {
     element.SetAttributes(attributes);
 }
 /// <summary>
 /// Adds the field.
 /// </summary>
 /// <param name="field">The field.</param>
 public virtual void AddField(UPMField field)
 {
     this.AddChild(field);
     this.GUIContainer?.ChildrenAdded(field);
 }
 /// <summary>
 /// The add field.
 /// </summary>
 /// <param name="field">
 /// The field.
 /// </param>
 public void AddField(UPMField field)
 {
     this.AddChild(field);
 }
        private UPMStandardGroup CreateNewGroupRecordAsNew(Dictionary <string, object> parentInitialValues, UPCRMRecord record, bool asNew)
        {
            UPContainerMetaInfo metaInfo = new UPContainerMetaInfo(this.ChildFieldControl);
            UPCRMResult         result   = !string.IsNullOrEmpty(record?.RecordId) ? metaInfo.NewRecordWithRecordId(record.RecordId) : metaInfo.NewRecord();

            UPCRMResultRow     childRow         = (UPCRMResultRow)result.ResultRowAtIndex(0);
            UPChildEditContext childEditContext = new UPChildEditContext(childRow, this.NextPostfix);

            if (asNew)
            {
                childEditContext.SetAsNew();
            }

            if (record != null)
            {
                childEditContext.AddChangedLinksFromRecordParentLink(record, null);
            }

            FieldControlTab childFieldControlTab = this.ChildFieldControl.TabAtIndex(0);

            this.combinedInitialValues = null;
            if (this.initialValues != null)
            {
                if (parentInitialValues != null)
                {
                    Dictionary <string, object> combined = new Dictionary <string, object>(this.initialValues);
                    foreach (var item in parentInitialValues)
                    {
                        combined[item.Key] = item.Value;
                    }

                    this.combinedInitialValues = combined;
                }
                else
                {
                    this.combinedInitialValues = this.initialValues;
                }
            }
            else
            {
                this.combinedInitialValues = parentInitialValues;
            }

            List <UPCRMRecord> initialRecords = record != null ? new List <UPCRMRecord> {
                record
            } : null;

            List <object> editFieldContextArray = this.EditContextsFor(childRow, childFieldControlTab,
                                                                       childEditContext.EditFieldContext, this.combinedInitialValues, initialRecords);
            int editFieldCount = editFieldContextArray.Count;

            if (editFieldCount > 0)
            {
                UPMStandardGroup group = new UPMStandardGroup(new RecordIdentifier(childRow.RootRecordIdentification));
                group.Deletable        = true;
                childEditContext.Group = group;
                this.AddChildRecordContext(childEditContext);
                for (int j = 0; j < editFieldCount; j++)
                {
                    UPEditFieldContext editFieldContext = editFieldContextArray[j] as UPEditFieldContext;
                    if (editFieldContext != null)
                    {
                        editFieldContext.ChildEditContext  = childEditContext;
                        editFieldContext.FieldLabelPostfix = childEditContext.FieldLabelPostfix;
                        List <UPMEditField> editFields = editFieldContext.EditFields;
                        if (editFields.Count > 0)
                        {
                            foreach (UPMEditField editField in editFields)
                            {
                                editField.EditFieldsContext = childEditContext;
                                group.AddField(editField);
                            }
                        }
                        else
                        {
                            UPMField field = editFieldContext.Field;
                            if (field != null)
                            {
                                group.AddField(field);
                            }
                        }
                    }
                    else
                    {
                        group.AddField((UPMField)editFieldContextArray[j]);
                    }
                }

                childEditContext.HandleDependentFields();
                return(group);
            }

            return(null);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="UPMQuestionnaireQuestion"/> class.
 /// </summary>
 /// <param name="_field">The field.</param>
 public UPMQuestionnaireQuestion(UPMField _field)
     : base(_field.Identifier)
 {
     this.field = _field;
 }