コード例 #1
0
        private IMongoQueryable <DbUser> Filter(RsMongoContext ctx, UserFilter filter)
        {
            var query = ctx.Users.AsQueryable();

            if (filter.ClientId.NotEmpty())
            {
                query = query.Where(x => x.ClientId == ObjectId.Parse(filter.ClientId));
            }

            if (filter.Forename.NotEmpty())
            {
                query = query.Where(x => x.Forename.CaseInsensitiveEquals(filter.Forename));
            }

            if (filter.Surname.NotEmpty())
            {
                query = query.Where(x => x.Surname.CaseInsensitiveEquals(filter.Surname));
            }

            if (filter.Email.NotEmpty())
            {
                query = query.Where(x => x.Email.CaseInsensitiveEquals(filter.Email));
            }

            if (filter.Username.NotEmpty())
            {
                query = query.Where(x => x.Username.CaseInsensitiveEquals(filter.Username));
            }

            return(query);
        }
コード例 #2
0
        private IMongoQueryable <DbWorkflowStepItem> Filter(RsMongoContext ctx, WorkflowStepItemFilter filter)
        {
            var query = ctx.WorkflowStepsItems.AsQueryable();

            if (filter.Code.NotEmpty())
            {
                query = query.Where(x => x.Code.CaseInsensitiveEquals(filter.Code));
            }

            if (filter.Name.NotEmpty())
            {
                query = query.Where(x => x.Name.CaseInsensitiveEquals(filter.Name));
            }

            return(query);
        }
コード例 #3
0
        private IMongoQueryable <DbProject> Filter(RsMongoContext ctx, ProjectFilter filter)
        {
            var query = ctx.Projects.AsQueryable();

            if (filter.Code.NotEmpty())
            {
                query = query.Where(x => x.Code.CaseInsensitiveEquals(filter.Code));
            }

            if (filter.Name.NotEmpty())
            {
                query = query.Where(x => x.Name.CaseInsensitiveEquals(filter.Name));
            }

            if (filter.WorkflowId.NotEmpty())
            {
                query = query.Where(x => x.WorkflowId == ObjectId.Parse(filter.WorkflowId));
            }

            if (filter.StartTimeBefore != null)
            {
                query = query.Where(x => x.StartTime < filter.StartTimeBefore);
            }

            if (filter.StartTimeAfter != null)
            {
                query = query.Where(x => x.StartTime > filter.StartTimeAfter);
            }

            if (filter.EndTimeBefore != null)
            {
                query = query.Where(x => x.EndTime < filter.EndTimeBefore);
            }

            if (filter.EndTimeBefore != null)
            {
                query = query.Where(x => x.EndTime > filter.EndTimeBefore);
            }

            return(query);
        }
コード例 #4
0
        private IMongoQueryable <DbAudit> Filter(RsMongoContext ctx, AuditFilter filter)
        {
            var query = ctx.AuditLogs.AsQueryable();

            if (filter.From.HasValue)
            {
                query = query.Where(x => x.DateCreated >= filter.From);
            }

            if (filter.To.HasValue)
            {
                query = query.Where(x => x.DateCreated <= filter.To);
            }

            if (filter.Type.HasValue)
            {
                query = query.Where(x => x.Type == filter.Type);
            }

            return(query);
        }
コード例 #5
0
        private IMongoQueryable <DbCompetency> Filter(RsMongoContext ctx, CompetencyFilter filter)
        {
            var query = ctx.Competencies.AsQueryable();

            if (filter.Code.NotEmpty())
            {
                query = query.Where(x => x.Code.CaseInsensitiveEquals(filter.Code));
            }

            if (filter.Name.NotEmpty())
            {
                query = query.Where(x => x.Name.CaseInsensitiveEquals(filter.Name));
            }

            if (filter.CultureCode.NotEmpty())
            {
                query = query.Where(x => x.CultureCode.CaseInsensitiveEquals(filter.CultureCode));
            }

            return(query);
        }
コード例 #6
0
        private IMongoQueryable <DbClient> Filter(RsMongoContext ctx, ClientFilter filter)
        {
            var query = ctx.Clients.AsQueryable();

            if (filter.Code.NotEmpty())
            {
                query = query.Where(x => x.Code.CaseInsensitiveEquals(filter.Code));
            }

            if (filter.Name.NotEmpty())
            {
                query = query.Where(x => x.Name.CaseInsensitiveEquals(filter.Name));
            }

            if (filter.IsParent.HasValue)
            {
                query = query.Where(x => x.ParentId.NotEmpty());
            }

            return(query);
        }