/// <summary> /// Currents the record for sender selector. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="selector"> /// The selector. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> public string CurrentRecordForSenderSelector(object sender, UPRecordSelector selector) { return(this.ContextRecordForSenderInfoAreaIdLinkId( sender, selector.LinkTargetInfoAreaId, selector.LinklinkId)); }
/// <inheritdoc/> public string ContextRecordForEditField(UPMEditField field) { var editField = field as UPMParticipantsRecordSelectorEditField; if (editField.CurrentSelector.DisableLinkOption && editField.CurrentSelector.LinkIsDisabled) { return(null); } if (editField.CurrentSelector?.RecordLinkInfoAreaIds?.Count > 0) { UPRecordSelector selector = editField.CurrentSelector; for (int i = 0; i < selector.RecordLinkInfoAreaIds.Count; i++) { string linkInfoAreaId = selector.RecordLinkInfoAreaIds[i]; int linkId = selector.RecordLinkLinkIds[i]; string rid = UPSelector.StaticSelectorContextDelegate.SenderLinkForInfoAreaIdLinkId(this, linkInfoAreaId, linkId); if (rid.Length > 8) { return(rid); } } } return(null); }
private UPMGroup GroupFromParticipantControl() { UPMRepeatableEditGroup repeatableEditGroup = new UPMRepeatableEditGroup(this.TabIdentifierForRecordIdentification(this.LinkRecordIdentification)); repeatableEditGroup.LabelText = this.TabLabel; this.selectorArray = new List <UPRecordSelector>(); for (int fieldNumber = 0; fieldNumber < this.TabConfig.NumberOfFields; fieldNumber++) { UPConfigFieldControlField configFieldControlField = this.TabConfig.Fields[fieldNumber]; var selector = configFieldControlField.Attributes.Selector; if (selector != null) { var recordSelector = new UPRecordSelector("KP", null, -1, selector, null, this.ParticipantsField); this.selectorArray.Add(recordSelector); } } if (this.selectorArray.Count < 1) { repeatableEditGroup.AddingEnabled = false; if (this.ParticipantsControl.Participants.Count < 1) { this.Group = null; this.ControllerState = GroupModelControllerState.Empty; return(null); } } else { repeatableEditGroup.AddGroupLabelText = LocalizedString.TextAddNewGroup; repeatableEditGroup.AddingEnabled = this.AddRecordEnabled; } foreach (UPCRMLinkParticipant participant in this.ParticipantsControl.Participants) { string recordIdentification = participant.RecordIdentification; IIdentifier participantIdentifier = new RecordIdentifier(recordIdentification); UPMStandardGroup group = new UPMStandardGroup(participantIdentifier); string num = participant.Options.ValueOrDefault("must") as string; group.Deletable = !participant.MayNotBeDeleted && this.DeleteRecordEnabled && num.ToInt() == 0; UPMDependsEditField editField = this.CreateEditFieldWithParticipantIdentifierEditGroup(participantIdentifier, group); editField.MainField.FieldValue = participant.Name; ((UPMParticipantsRecordSelectorEditField)editField.MainField).Participant = participant; editField.DependField.FieldValue = participant.AcceptanceText; editField.DependField2.FieldValue = participant.RequirementText; bool editOfflineRecord = ConfigurationUnitStore.DefaultStore.ConfigValueIsSetDefaultValue("RecordSelect.EditOfflineRecord", false); editField.Deletable = !participant.IsOfflineEmptyParticipant || editOfflineRecord; group.AddField(editField); repeatableEditGroup.AddChild(group); this.AddGroupForKey(group, participant.Key); } this.Group = repeatableEditGroup; this.ControllerState = GroupModelControllerState.Finished; return(repeatableEditGroup); }
/// <summary> /// Contexts the record for sender selector. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="selector"> /// The selector. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> public string ContextRecordForSenderSelector(object sender, UPRecordSelector selector) { for (var i = 0; i < selector.RecordLinkInfoAreaIds.Count; i++) { var linkInfoAreaId = selector.RecordLinkInfoAreaIds[i]; var linkId = selector.RecordLinkLinkIds[i]; var rid = this.ContextRecordForSenderInfoAreaIdLinkId(sender, linkInfoAreaId, linkId); if (!string.IsNullOrEmpty(rid) && rid.Length > 8) { return(rid); } } return(null); }
private void UserDidChangeRecordSelectorEditField(UPMRecordSelectorEditField field) { UPRecordSelector selector = field.CurrentSelector; Dictionary <string, object> copyValues = field.ResultRows != null ? field.ResultRows.FunctionValues : selector.ValuesFromResultRow(null); string linkRecordIdentification = field.ResultRows.RootRecordIdentification; string linkKey = selector.LinkKey; if (!selector.NoLink && !string.IsNullOrEmpty(linkKey)) { if (!string.IsNullOrEmpty(linkRecordIdentification)) { if (this.linkDictionary != null) { this.linkDictionary[linkKey] = linkRecordIdentification; } else { this.linkDictionary = new Dictionary <string, string> { { linkKey, linkRecordIdentification } }; } } else if (!string.IsNullOrEmpty(linkKey) && this.linkDictionary.ContainsKey(linkKey)) { this.linkDictionary.Remove(linkKey); } } List <UPMEditField> changedFields = this.ApplyCopyValuesRecordSelectorEditField(copyValues, field); foreach (UPMEditField editField in changedFields) { this.SimpleChangedValue(editField); } if (changedFields.Count > 0) { this.Delegate.ForceRedraw(this); } }
/// <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> /// <param name="selector">The selector.</param> public UPRecordSelectorEditFieldContext(UPConfigFieldControlField fieldConfig, IIdentifier fieldIdentifier, string value, UPRecordSelector selector) : base(fieldConfig, fieldIdentifier, value, null) { this.Selector = selector; }