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