usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingMicrosoft.Practices.EnterpriseLibrary.Validation;usingValidationresult =System.ComponentModel.DataAnnotations.ValidationResult;namespaceblackice.suite.domains.validations{/// <summary> ///Enterprise Library Validation Actions/// </summary> Public classvalidation:ivalidation {/// <summary> ///Validation/// </summary> /// <param name= "target" >Verify Target</param> PublicValidationresultcollection Validate (Objecttarget) { varValidator =Validationfactory.createvalidator (target. GetType ()); varResults =Validator. Validate (target); returnGetResult (results); } /// <summary> ///Get validation Results/// </summary> PrivateValidationresultcollection GetResult (ienumerable< Microsoft.practices.enterpriselibrary.validation.validationresult>results) { varresult =Newvalidationresultcollection (); foreach(vareachinchresults) result. ADD (NewValidationresult (each. Message)); returnresult; } } /// <summary> ///Validation Actions/// </summary> Public Interfaceivalidation {/// <summary> ///Validation/// </summary> /// <param name= "target" >Verify Target</param>Validationresultcollection Validate (Objecttarget); } /// <summary> ///Validation Result Collection/// </summary> Public classValidationresultcollection:ienumerable<validationresult> { /// <summary> ///Initialize validation result collection/// </summary> Publicvalidationresultcollection () {_results=NewList<validationresult>(); } /// <summary> ///Validation Results/// </summary> Private ReadOnlyList<validationresult>_results; /// <summary> ///is valid/// </summary> Public BOOLIsValid {Get { return_results. Count = =0; } } /// <summary> ///number of validation results/// </summary> Public intCount {Get { return_results. Count; } } /// <summary> ///Add Validation Results/// </summary> /// <param name= "Result" >Validation Results</param> Public voidAdd (validationresult result) {if(Result = =NULL) return; _results. ADD (result); } /// <summary> ///add a validation result collection/// </summary> /// <param name= "Results" >Validation Result Collection</param> Public voidAddresults (ienumerable<validationresult>results) { if(Results = =NULL) return; foreach(varResultinchresults) ADD (result); } /// <summary> ///Get iterators/// </summary>Ienumerator<validationresult> ienumerable<validationresult>. GetEnumerator () {return_results. GetEnumerator (); } /// <summary> ///Get iterators/// </summary>IEnumerator Ienumerable.getenumerator () {return_results. GetEnumerator (); } PublicIEnumerator GetEnumerator () {return_results. GetEnumerator (); } }}
Microsoft Enterprise Library Validation validations