static TimerBoundaryEvent CreateTimeBoundaryEvent(XElement xElement) { var timerBoundaryEvent = new TimerBoundaryEvent(); FillCommonProcessElementAttributes(timerBoundaryEvent, xElement); timerBoundaryEvent.AttachedTo = GetAttachedToElement(xElement); var xTimerDefinitionType = xElement.Element("DefinitionType"); if (xTimerDefinitionType == null) { throw new InvalidElementException($"Timer event at line {ContractParser.GetLineNumber(xElement)} " + $"is missing timer definition type"); } if (Enum.TryParse(xTimerDefinitionType.Value, out TimerDefinitionType parsedDefinitionType)) { timerBoundaryEvent.TimerDefinitionType = parsedDefinitionType; } else { throw new InvalidElementException($"{xTimerDefinitionType.Value} is not a valid timer definition type at " + $"line {ContractParser.GetLineNumber(xTimerDefinitionType)}"); } var xTimerDefinition = xElement.Element("Definition"); if (xTimerDefinition == null) { throw new InvalidElementException($"Timer event at line {ContractParser.GetLineNumber(xElement)} " + $"is missing timer definition"); } timerBoundaryEvent.TimerDefinition = xTimerDefinition.Value; return(timerBoundaryEvent); }
public TimerBoundaryEventConverter(TimerBoundaryEvent eventElement, ProcessConverter processConverter) { this.eventElement = eventElement; this.processConverter = processConverter; }