Exemple #1
0
        public IEnumerable <SelectListItem> SavedQueries()
        {
            if (!SavedQueryVisible)
            {
                return(null);
            }
            string uname = Util.UserName;
            var    g     = new Guid();

            if (SavedQuery.HasValue() && SavedQuery.Contains(":"))
            {
                var lines = SavedQuery.Split(":".ToCharArray(), 2);
                Guid.TryParse(lines[0], out g);
            }
            var q1 = from qb in Db.Queries
                     where qb.Owner == uname
                     orderby qb.Name
                     select new SelectListItem
            {
                Value    = qb.QueryId + ":" + qb.Name,
                Selected = qb.QueryId == g,
                Text     = qb.Name
            };
            var q2 = from qb in Db.Queries
                     where qb.Owner != uname && qb.Ispublic
                     orderby qb.Owner, qb.Name
                select new SelectListItem
            {
                Value    = qb.QueryId + ":" + qb.Name,
                Selected = qb.QueryId == g,
                Text     = qb.Owner + ":" + qb.Name,
            };

            return(q1.Union(q2));
        }
        internal Expression SavedQuery2()
        {
            var  tf = CodeIds == "1";
            var  a  = SavedQuery.Split(":".ToCharArray(), 2);
            Guid QueryId;

            Guid.TryParse(a[0], out QueryId);
            var q2 = db.PeopleQuery(QueryId);

            if (q2 == null)
            {
                return(AlwaysFalse());
            }
            var tag = db.PopulateTemporaryTag(q2.Select(pp => pp.PeopleId));

            Expression <Func <Person, bool> > pred = p => p.Tags.Any(t => t.Id == tag.Id);
            Expression expr = Expression.Invoke(pred, parm);

            return(expr);
        }