public void FinishMaintenanceJob(FinishMaintenanceJob command) { // find job MaintenanceJob job = Jobs.FirstOrDefault(j => j.Id == command.JobId); if (job == null) { throw new MaintenanceJobNotFoundException($"Maintenance job with id {command.JobId} found."); } // check business rules job.FinishedMaintenanceJobCanNotBeFinished(); // handle event MaintenanceJobFinished e = command.MapToMaintenanceJobFinished(); RaiseEvent(e); }
public IEnumerable <Event> FinishMaintenanceJob(FinishMaintenanceJob command) { // find job MaintenanceJob job = Jobs.FirstOrDefault(j => j.Id == command.JobId); if (job == null) { throw new MaintenanceJobNotFoundException($"Maintenance job with id {command.JobId} found."); } // check business rules job.FinishedMaintenanceJobCanNotBeFinished(); // handle event MaintenanceJobFinished e = Mapper.Map <MaintenanceJobFinished>(command); return(HandleEvent(e)); }