00001 using System; 00002 using System.Collections.Generic; 00003 using System.Text; 00004 using HouseOver.THARM.Buildings; 00005 00006 namespace HouseOver.THARM.Search 00007 { 00011 [Serializable] 00012 public class EnumCheck : Check 00013 { 00015 private Enum value; 00016 00018 public Enum Value 00019 { 00020 get { return value; } 00021 set { this.value = value; } 00022 } 00023 00031 public EnumCheck(string fieldName, string humanReadableName, bool fieldRequired, Type fieldType) : base(fieldName, humanReadableName, fieldRequired, fieldType) 00032 { 00033 } 00034 00040 public override bool Verify(object obj) 00041 { 00042 if (!fieldRequired) 00043 return true; 00044 00045 if (!FieldType.IsInstanceOfType(obj)) 00046 return false; 00047 00048 Enum e = obj as Enum; 00049 if (e == null) 00050 return false; 00051 00052 return e.Equals(value); 00053 } 00054 } 00055 }