private async Task <List <BranchHoliday> > GetBranchesHolidays(long chatId) { if (branchHolidays != null) { return(branchHolidays); } var allTimeZones = TimeZoneInfo.GetSystemTimeZones(); // get "current" days for all possible time zones var earliestTimeZoneDiff = allTimeZones.Min(tz => tz.BaseUtcOffset); var latestTimeZoneDiff = allTimeZones.Max(tz => tz.BaseUtcOffset); var earliestNowDay = DateTime.UtcNow.Add(earliestTimeZoneDiff).Date; var latestNowDay = DateTime.UtcNow.Add(latestTimeZoneDiff).Date; branchHolidays = await crmService.GetBranchHolidays(chatId, earliestNowDay, latestNowDay); return(branchHolidays); }