コード例 #1
0
        public void Search(xDBDataContext db)
        {
            var users = db.Users.AsQueryable();

            users = users.Where(x => x.Sex == Sex);
            if (Purpose.IsFilled())
            {
                users = users.Where(x => SqlMethods.Like(x.Purpose, string.Format("%{0}%", Purpose)));
            }
            if (MinAge.HasValue)
            {
                users = users.Where(x => x.BirthDate.HasValue && x.BirthDate.Value.Date <= MinBirthDate.Value.Date);
            }
            if (MaxAge.HasValue)
            {
                users = users.Where(x => x.BirthDate.HasValue && x.BirthDate.Value.Date >= MaxBirthDate.Value.Date);
            }
            if (HasPhoto)
            {
                users = users.Where(x => x.UserPhotos.Any());
            }
            if (IsOnline)
            {
                users =
                    users.Where(x => x.LastVisitDate.HasValue && x.LastVisitDate.Value >= DateTime.Now.AddMinutes(-5));
            }
            if (TownID.HasValue)
            {
                users = users.Where(x => x.TownID == TownID.Value);
            }

            Users = users.ToList().OrderByDescending(x => x.IsVip).ThenByDescending(x => x.IsUp).ThenByDescending(x => x.webpages_Membership.CreateDate).ToList();
        }
コード例 #2
0
        public void Search(xDBDataContext db)
        {
            var res = db.Meetings.AsQueryable();

            res = res.Where(x => x.TargetSex == !Sex);
            if (Purpose.IsFilled())
            {
                res = res.Where(x => x.Type == Purpose);
            }
            if (MinAge.HasValue)
            {
                res = res.Where(x => x.User.BirthDate.HasValue && x.User.BirthDate <= MinBirthDate);
            }
            if (MaxAge.HasValue)
            {
                res = res.Where(x => x.User.BirthDate.HasValue && x.User.BirthDate >= MaxBirthDate);
            }
            if (Keywords.IsFilled())
            {
                res = res.Where(x => SqlMethods.Like(x.Comment, "%{0}%".FormatWith(Keywords.Replace(" ", "%"))));
            }
            if (MinDate.HasValue)
            {
                res = res.Where(x => x.Date.HasValue && x.Date.Value.Date >= MinDate.Value.Date);
            }
            if (MaxDate.HasValue)
            {
                res = res.Where(x => x.Date.HasValue && x.Date.Value.Date <= MaxDate.Value.Date);
            }
            if (!MinDate.HasValue && !MaxDate.HasValue)
            {
                res = res.Where(x => x.Date.HasValue && x.Date.Value.Date >= DateTime.Now.Date);
            }
            if (TownID.HasValue)
            {
                res = res.Where(x => x.User.TownID == TownID);
            }
            if (Compartible && Me != null)
            {
                res =
                    res.Where(
                        x =>
                        (x.MaxAge.HasValue && x.MaxAge <= Me.MyAge && x.MinAge.HasValue &&
                         x.MinAge.Value == Me.MyAge) || (!x.MaxAge.HasValue && !x.MinAge.HasValue));
            }

            Result = res.ToList();
        }