示例#1
0
        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()));
 }