public IQueryable <Task> FindTasks([Optionally] IUser assignedTo, TaskStatusValues status, [Optionally] TaskType type) { var q = Container.Instances <Task>().Where(x => (status == TaskStatusValues.Any || x.Status == status)); if (type != null) { q = q.Where(x => x.Type.Id == type.Id); } if (assignedTo != null) { q = q.Where(x => x.AssignedToId == assignedTo.Id); } return(q.OrderBy(x => x.Due)); }
public Task NewTask( int testNo, TaskType type, int userId, TaskStatusValues status = TaskStatusValues.Pending, DateTime?suspendedUntil = null) { var task = Container.NewTransientInstance <Task>(); task.Type = type; task.SuspendedUntil = suspendedUntil; task.AssignedToId = userId; task.Notes = "Test" + testNo + "\n"; Container.Persist(ref task); task.Status = status; return(task); }