/// <summary> /// Test /// </summary> /// <param name="msg"></param> /// <returns></returns> public override ValidationException[] test(NHapi.Base.Model.IMessage msg) { ValidationException[] result = new ValidationException[0]; foreach (MessageRegExRuleElement rule in regexRules) { bool flag1 = (rule.Version == "*") || (msg.Version == rule.Version); string structureName = msg.GetStructureName(); string[] sNames = structureName.Split('_'); bool flag2 = (rule.MessageType == "*") || (sNames[0] == rule.MessageType); bool flag3 = (rule.TriggerEvent == "*") || (sNames[1] == rule.TriggerEvent); if (flag1 && flag2 && flag3) { Terser terser = new Terser(msg); string value = terser.Get(rule.FieldIndicator); if ((value == null) && !rule.AllowNull) { result = new ValidationException[1] { new ValidationException(string.Format("Value in '{0}' may not be null.", value)) }; } else if ((value != null) && !Regex.IsMatch(value, rule.RegEx)) { result = new ValidationException[1] { new ValidationException(string.Format("Value '{0}' in '{1}' doesn't match regex '{2}'.", value, rule.FieldIndicator, rule.RegEx)) }; } } if (result.Count() > 0) break; } return result; }
/// <summary> /// Test /// </summary> /// <param name="msg"></param> /// <returns></returns> public override ValidationException[] test(NHapi.Base.Model.IMessage msg) { ValidationException[] result = new ValidationException[0]; foreach (MessageFieldMandatoryRuleElement rule in mandatoryRules) { bool flag1 = (rule.Version == "*") || (msg.Version == rule.Version); string structureName = msg.GetStructureName(); string[] sNames = structureName.Split('_'); bool flag2 = (rule.MessageType == "*") || (sNames[0] == rule.MessageType); bool flag3 = (rule.TriggerEvent == "*") || (sNames[1] == rule.TriggerEvent); if (flag1 && flag2 && flag3) { Terser terser = new Terser(msg); string value = terser.Get(rule.FieldIndicator); if (string.IsNullOrEmpty(value)) { result = new ValidationException[1] { new ValidationException(string.Format("Field '{1}' is mandatory.", value, rule.FieldIndicator)) }; } } if (result.Count() > 0) break; } return result; }
/// <summary> /// Get primitive rules /// </summary> /// <param name="theVersion"></param> /// <param name="theTypeName"></param> /// <param name="theType"></param> /// <returns></returns> public IPrimitiveTypeRule[] getPrimitiveRules(string theVersion, string theTypeName, NHapi.Base.Model.IPrimitive theType) { IPrimitiveTypeRule[] result = new IPrimitiveTypeRule[0]; if (originalContext != null) result = originalContext.getPrimitiveRules(theVersion, theTypeName, theType); foreach (ISpecificPrimitiveTypeRule rule in primitiveTypeRules) { // Add the rule if it applies bool flag1 = rule.GetVersions().Contains("*") || rule.GetVersions().Contains(theVersion); bool flag2 = rule.GetTypeNames().Contains("*") || rule.GetTypeNames().Contains(theTypeName); if (flag1 && flag2) { List<IPrimitiveTypeRule> rules = new List<IPrimitiveTypeRule>(result); rules.Add(rule); result = rules.ToArray(); } } return result; }
public NHapi.Base.validation.ValidationException[] test(NHapi.Base.Model.IMessage msg) { return new NHapi.Base.validation.ValidationException[0]; }
public ORU_R01(NHapi.Base.Parser.IModelClassFactory factory) : base(factory) { this.add(typeof(CustomHL7Implementations.V24.Segment.ZVC), true, false); }