DateTime start=new DateTime(2021,11,1,11,0,0);
DateTime end=new DateTime(2021,11,22,16,0,0);
TimeSpan duration=end-start;
Console.WriteLine($"Timespan : {duration}");
int maxHours=(int)(dayPrice/hourPrice);
int maxDays=(int)(weekPrice/dayPrice);
int weeks=(int)(Math.Floor(duration.TotalDays / 7));
totalprice += weekPrice * weeks;
duration = duration.Subtract(TimeSpan.FromDays(weeks * 7));
int hours = (int)Math.Ceiling(duration.TotalMinutes / 60);
totalprice += (dayPrice * days);
duration = duration.Subtract(TimeSpan.FromHours(days*24));
int hours2 = (int)Math.Max(0, Math.Ceiling(duration.TotalMinutes / 60));
totalprice += (hours2>maxHours) ? dayPrice : hourPrice * hours2;
Console.WriteLine($"Total price : {totalprice}");