public void Execute(AppointmentCompleted @event) { Printer.Print(ConsoleColor.Magenta); var appointmentsOfJob = new MyRepository <Appointment>().FetchAll().Where(a => a.JobId == @event.Appointment.JobId); if (appointmentsOfJob.All(a => a.IsCompleted())) { var jobRepository = new MyRepository <Job>(); var job = jobRepository.Fetch(@event.Appointment.JobId); job.Finish(); } //Printer.Print("Job marked as in progress", ConsoleColor.Magenta); }