Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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;
        }