private DataFieldClassTemplate GetDataFieldClassTemplateFromUcDataField(Control ucDataFieldControl)
        {
            var retVal = new DataFieldClassTemplate();
            var ucDataFieldClassTemplate = ucDataFieldControl as ucDataFieldClassTemplate;

            if (ucDataFieldClassTemplate != null)
            {
                retVal.Name      = ucDataFieldClassTemplate.NameText;
                retVal.FieldType = (DataFieldType)(ucDataFieldClassTemplate.FieldTypeInt);
                retVal.FieldMode = (DataFieldMode)(ucDataFieldClassTemplate.FieldModeInt);
                retVal.ValueArea = ucDataFieldClassTemplate.ValueArea;

                var splitArray = new string[1];
                splitArray[0] = Environment.NewLine;
                var regexArray = new string[0];

                if (retVal.FieldMode == DataFieldMode.Regex)
                {
                    retVal.ValueArea = new PercentalAreaInfo();
                    regexArray       = ucDataFieldClassTemplate.RegexText.Split(splitArray, StringSplitOptions.RemoveEmptyEntries);

                    foreach (var item in regexArray)
                    {
                        retVal.RegexExpressions.Add(item);
                    }
                }
                else if (retVal.FieldMode == DataFieldMode.Position)
                {
                    regexArray = new string[0];
                }
            }
            return(retVal);
        }
Beispiel #2
0
        /// <summary>
        /// Data field user control for class templates with data
        /// </summary>
        public ucDataFieldClassTemplate(DataFieldClassTemplate dataFieldClassTemplate)
        {
            InitializeComponent();
            cbxFieldType.MouseWheel    += (o, e) => ((HandledMouseEventArgs)e).Handled = true;
            cbxFieldMode.MouseWheel    += (o, e) => ((HandledMouseEventArgs)e).Handled = true;
            this.dataFieldClassTemplate = dataFieldClassTemplate;

            if (dataFieldClassTemplate.FieldMode == DataFieldMode.Position)
            {
                ChangeValueArea(dataFieldClassTemplate.ValueArea);
            }
        }
Beispiel #3
0
        private DataFieldClassTemplate AutoCreateDataFieldClassTemplateFromDataFieldGroupTemplate(DataFieldGroupTemplate groupTemplate, string documentInputText)
        {
            var newDataField = new DataFieldClassTemplate()
            {
                Name = groupTemplate.Name, FieldType = groupTemplate.FieldType
            };

            foreach (var anchor in groupTemplate.TextAnchors)
            {
                RegexExpressionFinderResult expressionResult;
                if (TryFindRegexMatchExpress(documentInputText, anchor, string.Empty, groupTemplate.FieldType, true, out expressionResult))
                {
                    newDataField.RegexExpressions = new List <string>()
                    {
                        expressionResult.RegexExpression
                    };
                    break;
                }
            }

            return(newDataField);
        }