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); }
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); }
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); }
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); }
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); }
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); }