コード例 #1
0
        public override Boolean IsValid(Object value)
        {
            Type objectType = value.GetType();
            //PropertyInfo piUser = objectType.GetProperties()
            //                          .Where(p => p.Name == UserIdField)
            //                          .FirstOrDefault();

            PropertyInfo piEmail = objectType.GetProperties()
                                .Where(p => p.Name == EmailField)
                                .FirstOrDefault();

            PropertyInfo piUsername = objectType.GetProperties()
                                .Where(p => p.Name == UsernameField)
                                .FirstOrDefault();

            if (piEmail == null || piUsername == null)
            {
                throw new ApplicationException("UserConstraintAttribute error on " + objectType.Name);
            }

            //int uid = Convert.ToInt32(piUser.GetValue(value, null));
            string email = Convert.ToString(piEmail.GetValue(value, null));
            string username = Convert.ToString(piUsername.GetValue(value, null));
            UserService service = new UserService();
            return service.IsAvailableEmail(0, email) && service.IsAvailableUsername(username);
        }