private static IErrorState Validate(object instance, Type type, Type metadataType) { List <EntityMemberMapping> memberMappings; var key = type.FullName + "|" + metadataType.FullName; if (!EntityMemberMappingCache.TryGetValue(key, out memberMappings)) { var items = from m in type.GetGetMembers() let p = metadataType.GetMember(m.Name).FirstOrDefault() where p != null select new { MetadataMember = p, MemberModel = m }; memberMappings = (from m in items from attribute in m.MetadataMember.GetAttributes <ValidationAttribute>(true) select new EntityMemberMapping(m.MemberModel, attribute)) .ToList(); EntityMemberMappingCache.Add(key, memberMappings); } var state = new ErrorState(); memberMappings.Where(m => !m.IsValid(instance)) .ForEach(m => state.AddError(m.Name, m.ErrorMessage())); return(state); }
private static IErrorState Validate(object instance, Type type) { List<EntityMemberMapping> memberMappings; var key = type.FullName ; if (!EntityMemberMappingCache.TryGetValue(key, out memberMappings)) { memberMappings = (from prop in type.GetGetMembers() from attribute in prop.Member.GetAttributes<ValidationAttribute>(true) select new EntityMemberMapping(prop, attribute)) .ToList(); EntityMemberMappingCache.Add(key, memberMappings); } var state = new ErrorState(); memberMappings.Where(m => !m.IsValid(instance)) .ForEach(m => state.AddError(m.Name, m.ErrorMessage())); return state; }
private static IErrorState Validate(object instance, Type type) { List <EntityMemberMapping> memberMappings; var key = type.FullName; if (!EntityMemberMappingCache.TryGetValue(key, out memberMappings)) { memberMappings = (from prop in type.GetGetMembers() from attribute in prop.Member.GetAttributes <ValidationAttribute>(true) select new EntityMemberMapping(prop, attribute)) .ToList(); EntityMemberMappingCache.Add(key, memberMappings); } var state = new ErrorState(); memberMappings.Where(m => !m.IsValid(instance)) .ForEach(m => state.AddError(m.Name, m.ErrorMessage())); return(state); }
private static IErrorState Validate(object instance, Type type, Type metadataType) { List<EntityMemberMapping> memberMappings; var key = type.FullName + "|" + metadataType.FullName; if (!EntityMemberMappingCache.TryGetValue(key, out memberMappings)) { var items = from m in type.GetGetMembers() let p = metadataType.GetMember(m.Name).FirstOrDefault() where p != null select new { MetadataMember = p, MemberModel = m }; memberMappings =( from m in items from attribute in m.MetadataMember.GetAttributes<ValidationAttribute>(true) select new EntityMemberMapping(m.MemberModel, attribute)) .ToList(); EntityMemberMappingCache.Add(key, memberMappings); } var state = new ErrorState(); memberMappings.Where(m => !m.IsValid(instance)) .ForEach(m => state.AddError(m.Name, m.ErrorMessage())); return state; }