public ConsoleRepeaterField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView)
        {
            if (!(formField is SBSRepeaterField sbsRepeaterField))
            {
                return;
            }

            this.ThisRepeaterIndex = this.FormView.Form.FindFieldIndex(this.SBSFormField.Name);

            var endingField = this.FindEndingField(sbsRepeaterField.EndingFieldName);

            this.EndingField = endingField ?? throw new ApplicationException($"In the repeating group {this.SBSFormField.Name}, the ending field named {sbsRepeaterField.EndingFieldName} could not be found");
            this.EndingIndex = this.FindEndingFieldIndex(sbsRepeaterField.EndingFieldName);

            // Copy the starting index and ending index to the underlying repeater field model
            sbsRepeaterField.RepeaterIndex = this.ThisRepeaterIndex;
            sbsRepeaterField.EndingIndex   = this.EndingIndex;

            formView.FormFieldChanged += (field, value) =>
            {
                if (field != this.EndingField)
                {
                    return;
                }

                // Save the filled-out fields as name/value pairs.
                sbsRepeaterField.SavedObjects.Add(this.SaveFields());

                // If the ending field's value is not equal to the loop-continue value, then end the repeater loop
                if (!field.Value.Equals(((SBSRepeaterField)this.SBSFormField).ContinueLoopValue))
                {
                    this.IsEnded = true;
                }
            };
        }
        public ConsoleFormController(string idForm)
        {
            this.Model = SBSFormModel.Instance;
            this.Form  = this.Model.GetFormInstance(idForm);
            this.View  = new ConsoleFormView(this.Form);

            this.View.Closed += () =>
            {
                this.FormClosed(this.Form);
            };

            this.View.FormFieldChanged += (field, value) =>
            {
            };
        }
Example #3
0
 public ConsoleButtonField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView)
 {
 }
Example #4
0
 public ConsoleLabelField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView)
 {
 }
Example #5
0
 public ConsoleUploadField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView)
 {
 }
Example #6
0
 protected ConsoleNoInputOutputFieldBase(ISBSFormField formField, ISBSFormView formView) : base(formField, formView)
 {
 }
 public ConsoleEditField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView)
 {
 }
Example #8
0
 public ConsoleListboxField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView)
 {
 }
Example #9
0
 public ConsolePasswordField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView)
 {
 }
 protected ConsoleFieldViewBase(ISBSFormField formField, ISBSFormView formView)
 {
     this.SBSFormField = formField;
     this.FormView     = formView;
     this.Form         = formView.Form;
 }
 public ConsoleSectionField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView)
 {
     this.IsPageBreak = formField.PropExists("pagebreak");
 }
Example #12
0
 public ConsoleRadiobuttonField(ISBSFormField formField, ISBSFormView formView, List <IConsoleFieldView> fieldViews) : base(formField, formView)
 {
     this.FieldViews = fieldViews;
 }