add PromotionCalculator class
delete useless codes
add calculate promotion function
add calculate promotion function
delete useless codes
rename arguments in printDate function