42 lines
		
	
	
		
			842 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			842 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| 
 | |
| namespace Csla.Validation
 | |
| {
 | |
|   internal class RulesList
 | |
|   {
 | |
|     private List<IRuleMethod> _list = new List<IRuleMethod>();
 | |
|     private bool _sorted;
 | |
|     private List<string> _dependantProperties;
 | |
| 
 | |
|     public void Add(IRuleMethod item)
 | |
|     {
 | |
|       _list.Add(item);
 | |
|       _sorted = false;
 | |
|     }
 | |
| 
 | |
|     public List<IRuleMethod> GetList(bool applySort)
 | |
|     {
 | |
|       if (applySort && !_sorted)
 | |
|       {
 | |
|         lock (_list)
 | |
|         {
 | |
|           if (applySort && !_sorted)
 | |
|           {
 | |
|             _list.Sort();
 | |
|             _sorted = true;
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|       return _list;
 | |
|     }
 | |
| 
 | |
|     public List<string> GetDependancyList(bool create)
 | |
|     {
 | |
|       if (_dependantProperties == null && create)
 | |
|         _dependantProperties = new List<string>();
 | |
|       return _dependantProperties;
 | |
|     }
 | |
|   }
 | |
| }
 |