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); }
/// <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); } }
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); }