UPMGroup GroupFromParticipantControl() { UPMRepeatableEditGroup repeatableEditGroup = new UPMRepeatableEditGroup(this.TabIdentifierForRecordIdentification(this.LinkRecordIdentification)); repeatableEditGroup.LabelText = this.TabLabel(); repeatableEditGroup.AddGroupLabelText = upText_AddNewGroup; repeatableEditGroup.AddingEnabled = this.AddRecordEnabled; foreach (UPCRMRepParticipant participant in this.ParticipantsControl.Participants) { string repIdString = participant.Key; UPMIdentifier participantIdentifier = UPMStringIdentifier.IdentifierWithStringId(repIdString); UPMStandardGroup group = new UPMStandardGroup(participantIdentifier); NSNumber num = participant.Options.ObjectForKey("must"); group.Deletable = this.DeleteRecordEnabled && !num.IntegerValue; UPMDependsEditField editField = this.CreateEditFieldWithParticipantIdentifierEditGroup(participantIdentifier, group); editField.MainField.FieldValue = participant.RepIdString; if (this.ParticipantsControl.HasRepAcceptance && participant.CanChangeAcceptanceState) { editField.DependField.FieldValue = participant.AcceptanceText; } else { editField.DependField.FieldValue = null; } editField.DependField2.FieldValue = participant.RequirementText; group.AddField(editField); repeatableEditGroup.AddGroup(group); this.AddGroupForKey(group, repIdString); } this.Group = repeatableEditGroup; this.ControllerState = UPGroupModelControllerStateFinished; return(repeatableEditGroup); }
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); }
UPMDependsEditField CreateEditFieldWithParticipantIdentifierEditGroup(UPMIdentifier participantIdentifier, UPMGroup editGroup) { UPMDependsEditField dependsEditField = new UPMDependsEditField(UPMStringIdentifier.IdentifierWithStringId(NSString.StringWithFormat("depenfEditField_%@", participantIdentifier.Description))); dependsEditField.MainField = this.CreateMainEditFieldWithParticipantIdentifierEditGroup(participantIdentifier, editGroup); dependsEditField.DependField = this.CreateDependEditFieldWithParticipantIdentifierCatalogEditGroup(participantIdentifier, this.ParticipantsControl.AcceptanceCatalog, editGroup); dependsEditField.DependField2 = this.CreateDependEditFieldWithParticipantIdentifierCatalogEditGroup(participantIdentifier, this.ParticipantsControl.RequirementCatalog, editGroup); dependsEditField.initialSelectableOnly = true; return(dependsEditField); }
private UPMDependsEditField CreateEditFieldWithParticipantIdentifierEditGroup(IIdentifier participantIdentifier, UPMGroup editGroup) { var dependsEditField = new UPMDependsEditField(participantIdentifier); dependsEditField.MainField = this.CreateMainEditFieldWithParticipantIdentifier(participantIdentifier, editGroup); dependsEditField.DependField = this.CreateDependEditFieldWithParticipantIdentifier(participantIdentifier, this.ParticipantsControl.AcceptanceCatalog, editGroup); dependsEditField.DependField2 = this.CreateDependEditFieldWithParticipantIdentifier(participantIdentifier, this.ParticipantsControl.RequirementCatalog, editGroup); dependsEditField.InitialSelectableOnly = true; return(dependsEditField); }
private UPMDependsEditField CreateEditFieldWithParticipantIdentifierEditGroup(IIdentifier participantIdentifier, UPMGroup editGroup) { var dependsEditField = new UPMDependsEditField(StringIdentifier.IdentifierWithStringId($"depenfEditField_{participantIdentifier}")) { MainField = this.CreateMainEditFieldWithParticipantIdentifierEditGroup(participantIdentifier, editGroup), DependField = this.CreateDependEditField(participantIdentifier, this.ParticipantsControl.AcceptanceCatalog, editGroup), DependField2 = this.CreateDependEditField(participantIdentifier, this.ParticipantsControl.RequirementCatalog, editGroup), InitialSelectableOnly = true }; return(dependsEditField); }
UPMStandardGroup CreateNewGroup(NSDictionary initialValues) { UPCRMRepParticipant participant = this.ParticipantsControl.AddNewRepParticipant(); participant.Options = firstItemOptions; firstItemOptions = null; UPMIdentifier participantIdentifier = UPMStringIdentifier.IdentifierWithStringId(participant.Key); UPMStandardGroup group = new UPMStandardGroup(participantIdentifier); group.Deletable = true; UPMDependsEditField editField = this.CreateEditFieldWithParticipantIdentifierEditGroup(participantIdentifier, group); editField.MainField.FieldValue = participant.RepIdString; editField.DependField.FieldValue = string.Empty; editField.DependField2.FieldValue = participant.RequirementText; group.AddField(editField); this.AddGroupForKey(group, participant.Key); return(group); }
public List <IIdentifier> UserDidChangeField(UPMEditField field, object pageModelController) { if (field.GetType() == (typeof(UPMRepEditField))) { UPMRepEditField _field = (UPMRepEditField)field; string key = keyForEditGroup(field.Group); if (key != null) { UPCRMRepParticipant participant = (UPCRMRepParticipant)this.ParticipantsControl.ParticipantWithKey(key); if (participant != null) { participant.MarkAsDeleted = false; participant.ChangeRep(field.FieldValue); } } } else if (_field.IsKindOfClass(typeof(UPMParticipantCatalogEditField))) { UPMParticipantCatalogEditField field = (UPMParticipantCatalogEditField)_field; string key = this.KeyForEditGroup(field.Group); if (key != null) { UPCRMRepParticipant participant = (UPCRMRepParticipant)this.ParticipantsControl.ParticipantWithKey(key); string participantIdentification = participant.Key; UPMGroup editGroup = this.EditGroupForKey(participantIdentification); UPMDependsEditField dependsEditField = (UPMDependsEditField)editGroup.Fields.ObjectAtIndex(0); UPMEditField acceptanceField = dependsEditField.DependField; UPMEditField requirementField = dependsEditField.DependField2; if (field == acceptanceField) { participant.AcceptanceText = field.FieldValue; } else if (field == requirementField) { participant.RequirementText = field.FieldValue; } } } return(null); }