コード例 #1
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }