Open day now only on weekends

This commit is contained in:
2021-11-19 10:14:00 -05:00
parent ca9aba9e99
commit afda7d4a6b

View File

@@ -13,7 +13,7 @@ namespace TOOHUCardAPI.Data.Services
private readonly ILogger<GameConfigurationService> _logger; private readonly ILogger<GameConfigurationService> _logger;
private readonly CardRepository _cardRepository; private readonly CardRepository _cardRepository;
private List<string> _cardBlacklist = new() private readonly List<string> _cardBlacklist = new()
{ {
"_", "_",
"BonusEgg" "BonusEgg"
@@ -25,9 +25,14 @@ namespace TOOHUCardAPI.Data.Services
_cardRepository = cardRepository; _cardRepository = cardRepository;
} }
private List<DayOfWeek> OpenDaysOfWeek => new List<DayOfWeek> {DayOfWeek.Saturday, DayOfWeek.Sunday};
private bool IsOpenDay => OpenDaysOfWeek.Contains(DateTime.Today.DayOfWeek);
public async Task<GameConfigResponse> GetGameConfiguration() public async Task<GameConfigResponse> GetGameConfiguration()
{ {
var random = new Random(DateTime.Now.Date.GetHashCode()); var random = new Random(DateTime.Now.Date.GetHashCode());
var openDays = string.Join(", ", OpenDaysOfWeek.Select(i => i.ToString()));
GameConfigResponse response = new GameConfigResponse(); GameConfigResponse response = new GameConfigResponse();
var cards = await _cardRepository.GetAllCards(); var cards = await _cardRepository.GetAllCards();
var validCards = var validCards =
@@ -35,8 +40,14 @@ namespace TOOHUCardAPI.Data.Services
.Select(card => card.CardName).Append("all"); .Select(card => card.CardName).Append("all");
var enumerable = validCards as string[] ?? validCards.ToArray(); var enumerable = validCards as string[] ?? validCards.ToArray();
var index = random.Next(0, enumerable.Length); var index = random.Next(0, enumerable.Length);
response.IsOpenDay = IsOpenDay ? 1 : 0;
response.OpenDayList = openDays;
response.LuckCard = enumerable.ElementAt(index); response.LuckCard = enumerable.ElementAt(index);
response.GameMessage = response.GameMessage + $" Today's lucky card is {response.LuckCard}!"; response.GameMessage += $" Today's lucky card is {response.LuckCard}!";
if (IsOpenDay)
{
response.GameMessage += " Today is an open day!";
}
return response; return response;
} }
} }