Beispiel #1
0
        public IQueryable <preg_user> GetUsersByParams(preg_user data)
        {
            IQueryable <preg_user> result = connect.preg_user;

            for (int i = 0; i < data.GetType().GetProperties().ToList().Count(); i++)
            {
                string propertyName = data.GetType().GetProperties().ToList()[i].Name;

                var propertyValue = data.GetType().GetProperty(propertyName).GetValue(data, null);

                if (propertyName == "id" && (int)propertyValue != 0)
                {
                    result = result.Where(c => c.id == (int)propertyValue);
                }
                else if (propertyName == "password" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.password) > 0);
                }
                else if (propertyName == "phone" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.phone) > 0);
                }
                else if (propertyName == "social_type_id" && propertyValue != null)
                {
                    result = result.Where(c => c.social_type_id == (int)(propertyValue));
                }
                else if (propertyName == "first_name" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.first_name) > 0);
                }
                else if (propertyName == "last_name" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.last_name) > 0);
                }
                else if (propertyName == "you_are_the" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.you_are_the) > 0);
                }
                else if (propertyName == "location" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.location) > 0);
                }
                else if (propertyName == "status" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.status) > 0);
                }
                else if (propertyName == "avatar" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.avatar) > 0);
                }
                else if (propertyName == "email" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.email) > 0);
                }
                else if (propertyName == "uid" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.uid) > 0);
                }
                else if (propertyName == "time_last_login" && propertyValue != null)
                {
                    result = result.Where(c => c.time_last_login == (DateTime)(propertyValue));
                }
            }
            return(result);
        }