Example #1
0
        public IQueryable <preg_answer> GetItemsByParams(preg_answer data)
        {
            IQueryable <preg_answer> result = connect.preg_answer;

            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 == "user_id" && (int)(propertyValue) != 0)
                {
                    result = result.Where(c => c.user_id == (int)(propertyValue));
                }
                else if (propertyName == "question_id" && (int)(propertyValue) != 0)
                {
                    result = result.Where(c => c.question_id == (int)(propertyValue));
                }
                else if (propertyName == "questiondate" && propertyValue != null)
                {
                    result = result.Where(c => c.questiondate == (DateTime)(propertyValue));
                }
                else if (propertyName == "title" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.title) > 0);
                }
                else if (propertyName == "content" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.content) > 0);
                }
            }
            return(result);
        }