public Task <string[]> Handle(GetMethodsForQueueNameRequest queueNameRequest) { Expression <Func <SqlCommonDbOddJobMetaData, bool> > expr = null; var results = new string[] { null }; if (!string.IsNullOrWhiteSpace(queueNameRequest.QueueName)) { expr = ExpressionHelpers.CombineBinaryExpression(expr, (a) => a.QueueName.ToLower().Contains(queueNameRequest.QueueName.ToLower()), false); results = results.Concat(_provider.GetJobCriteriaByCriteria(expr, q => q.MethodName)).ToArray(); } return(Task.FromResult(results)); }
public static Task <string[]> GetMethods(string queueName) { var manager = new SQLiteJobQueueManager(new SQLiteJobQueueDataConnectionFactory(TempDevInfo.ConnString), TempDevInfo.TableConfigurations["console"], new NullOnMissingTypeJobTypeResolver()); Expression <Func <SqlCommonDbOddJobMetaData, bool> > expr = null; var results = new string[] { null }; if (!string.IsNullOrWhiteSpace(queueName)) { expr = ExpressionHelpers.CombineBinaryExpression(expr, (a) => a.QueueName.ToLower().Contains(queueName.ToLower()), false); results = results.Concat(manager.GetJobCriteriaByCriteria(expr, q => q.MethodName)).ToArray(); } return(Task.FromResult(results)); }
public Task <JobMetadataResult[]> Handle(JobSearchCriteria criteria) { Expression <Func <SqlCommonDbOddJobMetaData, bool> > expr = null; if (!string.IsNullOrWhiteSpace(criteria.QueueName)) { expr = ExpressionHelpers.CombineBinaryExpression(expr, (a) => a.QueueName.ToLower().Contains(criteria.QueueName.ToLower()), false); } if (!string.IsNullOrWhiteSpace(criteria.MethodName) && criteria.UseMethod) { expr = ExpressionHelpers.CombineBinaryExpression(expr, (a) => a.MethodName.ToLower().Contains(criteria.MethodName.ToLower()), false); } if (!string.IsNullOrWhiteSpace(criteria.Status) && criteria.UseStatus) { expr = ExpressionHelpers.CombineBinaryExpression(expr, (a) => a.Status.ToLower().Contains(criteria.Status.ToLower()), false); } /* if (statusCriteria != null && statusCriteria.Any()) * { * expr = ExpressionHelpers.CombineBinaryExpression(expr, (a) => a.Status.LikeAnyLower(statusCriteria), * requireAll); * * } * * if (jobNameCriteria != null && jobNameCriteria.Any()) * { * expr = ExpressionHelpers.CombineBinaryExpression(expr, * (a) => a.MethodName.LikeAnyUpper(jobNameCriteria), requireAll); * } * * if (jobGuids != null && jobGuids.Any()) * { * expr = ExpressionHelpers.CombineBinaryExpression(expr, (a) => a.JobGuid.In(jobGuids), requireAll); * } * * expr = ExpressionHelpers.CombineBinaryExpression(expr, (a) => ( * (createdNoLaterThan == null || a.CreatedDate <= createdNoLaterThan) * && * (createdNoEarlierThan == null || a.CreatedDate >= createdNoEarlierThan) * ), requireAll); * expr = ExpressionHelpers.CombineBinaryExpression(expr, (a) => ( * (lastExecutedNoLaterThan == null || a.LastAttempt <= lastExecutedNoLaterThan) * && * (lastExecutedNoEarlierThan == null || a.LastAttempt >= lastExecutedNoEarlierThan) * ), requireAll); */ var result = expr == null ? new JobMetadataResult[] { } : _provider.GetSerializableJobsByCriteria(expr).Select(q => new JobMetadataResult() { ExecutionTime = q.ExecutionTime.ToString(), JobArgs = q.JobArgs.Select(r => new JobParameterDto() { Ordinal = r.Ordinal, Name = r.Name, Type = r.TypeName, Value = r.Value }).ToArray(), JobId = q.JobId, MethodGenericTypes = q.MethodGenericTypes.ToArray(), MethodName = q.MethodName, Queue = q.QueueName, RetryParameters = new JobRetryParameters() { LastAttempt = q.RetryParameters.LastAttempt, RetryCount = q.RetryParameters.RetryCount, MaxRetries = q.RetryParameters.MaxRetries, MinRetryWait = q.RetryParameters.MinRetryWait }, Status = q.Status, TypeExecutedOn = q.TypeExecutedOn }); return(Task.FromResult(result.ToArray())); }