private static void CalculatorTest() { Patient patient = new Patient { Birthday = DateTime.Parse("1950-04-01"), FirstName = "Ryszard", Gender = Gender.Male, }; Visit visit = new Visit { Patient = patient, VisitDate = DateTime.Now, Duration = TimeSpan.FromHours(1), UnitPrice = 150 }; CalculatorBase calculator1 = new GenderCalculator(0.9m); CalculatorBase calculator2 = new AgeCalculator(); calculator2.Calculate(visit); Console.WriteLine(visit.DiscountedAmount); }
protected override decimal Discount(Visit visit) { return(visit.Amount); }
protected override bool CanDiscount(Visit visit) { return(visit.Patient.Age > 60); }
protected abstract decimal Discount(Visit visit);
protected abstract bool CanDiscount(Visit visit);
protected override bool CanDiscount(Visit visit) { return(visit.Patient.Gender == Gender.Female); }