public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection errors = base.Validate(manager, obj); StateFinalizationActivity compositeActivity = obj as StateFinalizationActivity; if (compositeActivity == null) { throw new ArgumentException(SR.GetString("Error_UnexpectedArgumentType", new object[] { typeof(StateFinalizationActivity).FullName }), "obj"); } StateActivity parent = compositeActivity.Parent as StateActivity; if (parent == null) { errors.Add(new ValidationError(SR.GetError_StateFinalizationParentNotState(), 0x606)); return(errors); } foreach (Activity activity3 in parent.EnabledActivities) { StateFinalizationActivity activity4 = activity3 as StateFinalizationActivity; if ((activity4 != null) && (activity4 != compositeActivity)) { errors.Add(new ValidationError(SR.GetError_MultipleStateFinalizationActivities(), 0x61a)); break; } } if (StateMachineHelpers.ContainsEventActivity(compositeActivity)) { errors.Add(new ValidationError(SR.GetError_EventActivityNotValidInStateFinalization(), 0x603)); } return(errors); }
public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); StateInitializationActivity stateInitialization = obj as StateInitializationActivity; if (stateInitialization == null) { throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(StateInitializationActivity).FullName), "obj"); } StateActivity state = stateInitialization.Parent as StateActivity; if (state == null) { validationErrors.Add(new ValidationError(SR.GetError_StateInitializationParentNotState(), ErrorNumbers.Error_StateHandlerParentNotState)); return(validationErrors); } foreach (Activity activity in state.EnabledActivities) { StateInitializationActivity childStateInitialization = activity as StateInitializationActivity; if (childStateInitialization != null) { if (childStateInitialization == stateInitialization) { continue; } validationErrors.Add(new ValidationError( SR.GetError_MultipleStateInitializationActivities(), ErrorNumbers.Error_MultipleStateInitializationActivities)); break; } } ValidateSetStateInsideStateInitialization(stateInitialization, state, validationErrors); if (StateMachineHelpers.ContainsEventActivity(stateInitialization)) { validationErrors.Add(new ValidationError(SR.GetError_EventActivityNotValidInStateInitialization(), ErrorNumbers.Error_EventActivityNotValidInStateHandler)); } return(validationErrors); }