public UpdateAssignedWorkDisplayWhenJobAddedOrUnassigned(JobIdentifier jobId, IObservable <WorkshopEvent> workshopEvents, IDisplayAssignedWork displayAssignedWork)
        {
            var addedJobIds = workshopEvents
                              .OfType <WorkshopEvent, WorkshopEvent.JobAdded>()
                              .Select(jobAdded => jobAdded.Job.Id);

            var unassignedJobIds = workshopEvents
                                   .OfType <WorkshopEvent, WorkshopEvent.JobUnassigned>()
                                   .Select(jobUnassigned => jobUnassigned.JobId);

            addedJobIds.Merge(unassignedJobIds)
            .Where(eventJobId => eventJobId == jobId)
            .Subscribe(_ => displayAssignedWork.AssignedWork = "Unassigned");
        }
コード例 #2
0
 public UpdateAssignedWorkDisplayWhenJobAssigned(JobIdentifier jobId, IObservable <WorkshopEvent> workshopEvents, IDisplayAssignedWork displayAssignedWork)
 {
     workshopEvents
     .OfType <WorkshopEvent, WorkshopEvent.JobAssigned>()
     .Where(jobAssigned => jobAssigned.JobId == jobId)
     .Select(jobAssigned => $"Assigned to {jobAssigned.WorkerId.ToString()}")
     .Subscribe(assignmentText => displayAssignedWork.AssignedWork = assignmentText);
 }