public void Execute(AppointmentRescheduled @event) { Printer.Print("Updating JobView in effect of AppointmentRescheduled event", ConsoleColor.Magenta); var jobViewRepository = new MyRepository <JobView>(); var jobView = jobViewRepository.FetchAll().Single(j => j.Appointments.Any(a => a.Id == @event.AppointmentId)); jobView.Appointments.Single(a => a.Id == @event.AppointmentId).From = @event.From; jobView.Appointments.Single(a => a.Id == @event.AppointmentId).To = @event.To; jobViewRepository.Update(jobView); Publish(jobView); }
public void Execute(StaffAssignedToAppointment @event) { Printer.Print("Updating JobView in effect of StaffAssignedToAppointment event", ConsoleColor.Magenta); var staffRepository = new MyRepository <StaffMember>(); var staff = staffRepository.Fetch(@event.StaffId); var jobViewRepository = new MyRepository <JobView>(); var jobView = jobViewRepository.FetchAll().Single(j => j.Appointments.Any(a => a.Id == @event.AppointmentId)); jobView.Appointments.Single(a => a.Id == @event.AppointmentId).AssignedTo = staff.Name; jobViewRepository.Update(jobView); Publish(jobView); }