|
//-----------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Activities.Validation
{
using System;
using System.Globalization;
using System.Runtime;
[Fx.Tag.XamlVisible(false)]
public class ValidationError
{
Activity source;
public ValidationError(string message)
: this(message, false, string.Empty)
{
}
public ValidationError(string message, bool isWarning)
: this(message, isWarning, string.Empty)
{
}
public ValidationError(string message, bool isWarning, string propertyName)
: this(message, isWarning, propertyName, null)
{
}
public ValidationError(string message, bool isWarning, string propertyName, object sourceDetail)
: this(message, isWarning, propertyName, null)
{
this.SourceDetail = sourceDetail;
}
internal ValidationError(string message, Activity activity)
: this(message, false, string.Empty, activity)
{
}
internal ValidationError(string message, bool isWarning, Activity activity)
: this(message, isWarning, string.Empty, activity)
{
}
internal ValidationError(string message, bool isWarning, string propertyName, Activity activity)
{
this.Message = message;
this.IsWarning = isWarning;
this.PropertyName = propertyName;
if (activity != null)
{
this.Source = activity;
this.Id = activity.Id;
this.SourceDetail = activity.Origin;
}
}
public string Message
{
get;
internal set;
}
public bool IsWarning
{
get;
private set;
}
public string PropertyName
{
get;
private set;
}
public string Id
{
get;
internal set;
}
public Activity Source
{
get
{
return this.source;
}
internal set
{
this.source = value;
if (this.source != null && this.SourceDetail == null)
{
this.SourceDetail = this.source.Origin;
}
}
}
public object SourceDetail
{
get;
internal set;
}
public override string ToString()
{
return string.Format(CultureInfo.InvariantCulture,
"ValidationError {{ Message = {0}, Source = {1}, PropertyName = {2}, IsWarning = {3} }}",
this.Message,
this.Source,
this.PropertyName,
this.IsWarning);
}
}
}
|