// prints products in category and displays appropriate discount for category if necessary. // Handles no discount scenario. public void categoryChoice(Category cat) { string strDiscount; if (FridayUtil.isFriday(staticDateTime)) { FridayUtil.fridaysOfTheMonth dt = tempFridayUtil.CheckFriday(staticDateTime); discount = getDiscount(dt); } else { discount = 0; } strDiscount = (discount * 100).ToString(); int i = 0; if (discount == 0) { Console.WriteLine("All Products in this category are not discounted!)"); Console.WriteLine("Discount for this Category will be on " + tempFridayUtil.getNearestFriday(staticDateTime)); } else { Console.WriteLine("All Products in this category are at a discounted price of {0}%(Black Friday Deals!!!)\n", strDiscount); } Array categoryProductNames = cat.getProductNames(); Array categoryProductPrices = cat.getProductPrices(); Console.WriteLine("Here are our Products for the day!\n"); while (i < categoryProductNames.Length) { double calculatedDiscount = ((double)categoryProductPrices.GetValue(i) - ((double)categoryProductPrices.GetValue(i) * discount)); //Console.WriteLine(productList[i] + "\nPrice -> {}", productPriceList[i]); Console.WriteLine($"{categoryProductNames.GetValue(i)} \nPrice {categoryProductPrices.GetValue(i)}"); if (discount != 0) { Console.Write($"Discounted Price -> {calculatedDiscount}\n\n"); } i++; } }
// returns appropriate discount based on the friday of the month public double getDiscount(FridayUtil.fridaysOfTheMonth dt) { if (dt == FridayUtil.fridaysOfTheMonth.firstFriday) { return(0.05); } else if (dt == FridayUtil.fridaysOfTheMonth.secondFriday) { return(0.1); } else if (dt == FridayUtil.fridaysOfTheMonth.thirdFriday) { return(0.15); } else if (dt == FridayUtil.fridaysOfTheMonth.fourthFriday) { return(0.2); } else { return(0.25); } }