AssertValidation.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Validation / AssertValidation.cs / 1305376 / AssertValidation.cs

                            //------------------------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------

namespace System.Activities.Validation 
{
    using System; 
    using System.Collections.Generic; 
    using System.Collections.ObjectModel;
    using System.Runtime; 
    using System.ComponentModel;

    public sealed class AssertValidation : NativeActivity
    { 
        public AssertValidation()
        { 
        } 

        public InArgument Assertion 
        {
            get;
            set;
        } 

        public InArgument Message 
        { 
            get;
            set; 
        }

        [DefaultValue(null)]
        public InArgument IsWarning 
        {
            get; 
            set; 
        }
 
        [DefaultValue(null)]
        public InArgument PropertyName
        {
            get; 
            set;
        } 
 
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        { 
            Collection arguments = new Collection();

            RuntimeArgument assertionArgument = new RuntimeArgument("Assertion", typeof(bool), ArgumentDirection.In);
            metadata.Bind(this.Assertion, assertionArgument); 
            arguments.Add(assertionArgument);
 
            RuntimeArgument messageArgument = new RuntimeArgument("Message", typeof(string), ArgumentDirection.In); 
            metadata.Bind(this.Message, messageArgument);
            arguments.Add(messageArgument); 

            RuntimeArgument isWarningArgument = new RuntimeArgument("IsWarning", typeof(bool), ArgumentDirection.In, false);
            metadata.Bind(this.IsWarning, isWarningArgument);
            arguments.Add(isWarningArgument); 

            RuntimeArgument propertyNameArgument = new RuntimeArgument("PropertyName", typeof(string), ArgumentDirection.In, false); 
            metadata.Bind(this.PropertyName, propertyNameArgument); 
            arguments.Add(propertyNameArgument);
 
            metadata.SetArgumentsCollection(arguments);
        }

        protected override void Execute(NativeActivityContext context) 
        {
            if (!this.Assertion.Get(context)) 
            { 
                bool isWarning = false;
                string propertyName = string.Empty; 
                string errorCode = string.Empty;

                if (this.IsWarning != null)
                { 
                    isWarning = this.IsWarning.Get(context);
                } 
 
                if (this.PropertyName != null)
                { 
                   propertyName = this.PropertyName.Get(context);
                }

                Constraint.AddValidationError(context, new ValidationError(this.Message.Get(context), isWarning, propertyName)); 
            }
        } 
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK