public DateTimeRange Parse(string input) { if (ExistsCachedValue(cacheValue: input)) { return(_cachedValues[key : input]); } DateTimeRangeCalculatorBase calculation = GetImplementationByInput(input: input); if (calculation == null) { return(DateTimeRange.Empty); } DateTimeRange calculatedValue = calculation.CalculateFromInput(input: input); AddCalculatedValueToCache( input: input, calculatedValue: calculatedValue); OnRaisedCalculation( raisedCalculationEventArgs: new RaisedCalculationEventArgs( dateTimeRangeCalculatorBase: calculation)); return(calculatedValue); }
public override bool Equals(object obj) { DateTimeRangeCalculatorBase other = obj as DateTimeRangeCalculatorBase; return(Name == other?.Name); }
public RaisedCalculationEventArgs(DateTimeRangeCalculatorBase dateTimeRangeCalculatorBase) { RaisedCalculator = dateTimeRangeCalculatorBase; }