1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-07-08 13:00:07 -05:00

add chat to advanced search

This commit is contained in:
RaidMax
2023-08-26 22:56:37 -05:00
parent 8e1dd9d506
commit a169653e91
10 changed files with 288 additions and 146 deletions

View File

@ -25,11 +25,24 @@ namespace Stats.Dtos
/// </summary>
public DateTime? SentAfter { get; set; }
/// <summary>
/// The time associated with SentAfter date
/// </summary>
public string SentAfterTime { get; set; } = "00:00";
public DateTime? SentAfterDateTime => SentAfter?.Add(TimeSpan.Parse(SentAfterTime));
/// <summary>
/// only look for messages sent before this date0
/// </summary>
public DateTime SentBefore { get; set; } = DateTime.UtcNow;
public DateTime SentBefore { get; set; } = DateTime.UtcNow.Date;
public string SentBeforeTime { get; set; } = DateTime.UtcNow.ToString("HH:mm");
public DateTime? SentBeforeDateTime => SentBefore.Add(TimeSpan.Parse(SentBeforeTime));
public bool IsExactMatch { get; set; }
/// <summary>
/// indicates if the chat is on the meta page
/// </summary>

View File

@ -53,11 +53,11 @@ namespace Stats.Helpers
}
var iqMessages = context.Set<EFClientMessage>()
.Where(message => message.TimeSent < query.SentBefore);
.Where(message => message.TimeSent < query.SentBeforeDateTime);
if (query.SentAfter is not null)
if (query.SentAfterDateTime is not null)
{
iqMessages = iqMessages.Where(message => message.TimeSent >= query.SentAfter);
iqMessages = iqMessages.Where(message => message.TimeSent >= query.SentAfterDateTime);
}
if (query.ClientId is not null)
@ -72,7 +72,10 @@ namespace Stats.Helpers
if (!string.IsNullOrEmpty(query.MessageContains))
{
iqMessages = iqMessages.Where(message => EF.Functions.Like(message.Message.ToLower(), $"%{query.MessageContains.ToLower()}%"));
iqMessages = query.IsExactMatch
? iqMessages.Where(message => message.Message.ToLower() == query.MessageContains.ToLower())
: iqMessages.Where(message =>
EF.Functions.Like(message.Message.ToLower(), $"%{query.MessageContains.ToLower()}%"));
}
var iqResponse = iqMessages