Improve PromotionRepository

1/ Fix the date conditions (the old ones weren't retrieving anything on null dates)
2/ Add some join to avoid recurent queries