private bool?IsDayOffByExclusion(string assetPairId, TimeSpan scheduleCutOff, DateTime currentDateTime) { var dayOffExclusions = _dayOffSettingsService.GetExclusions(assetPairId); return(dayOffExclusions .Where(e => { var start = e.IsTradeEnabled ? e.Start.Add(scheduleCutOff) : e.Start.Subtract(scheduleCutOff); var end = e.IsTradeEnabled ? e.End.Subtract(scheduleCutOff) : e.End.Add(scheduleCutOff); return IsBetween(currentDateTime, start, end); }).DefaultIfEmpty() .Select(e => e == null ? (bool?)null : !e.IsTradeEnabled).Max()); }
public Task <IReadOnlyList <DayOffExclusionContract> > ListExclusions() { return(Task.FromResult <IReadOnlyList <DayOffExclusionContract> >(_dayOffSettingsService.GetExclusions().Values.Select(Convert).ToList())); }