Add provider-aware activity filter API
This commit is contained in:
@@ -29,7 +29,7 @@ using static C4IT.Logging.cLogManager;
|
||||
|
||||
namespace C4IT.F4SD
|
||||
{
|
||||
public class F4SDHelperService
|
||||
public partial class F4SDHelperService
|
||||
{
|
||||
private static Guid SPSUserClassBaseID = SPSDataEngineSchemaReader.ClassGetIDFromName("SPSUserClassBase");
|
||||
private static Guid SPSAccountClassBaseID = SPSDataEngineSchemaReader.ClassGetIDFromName("SPSAccountClassBase");
|
||||
@@ -166,6 +166,9 @@ namespace C4IT.F4SD
|
||||
|
||||
var tickets = new List<cF4SDTicketSummary>();
|
||||
var activityFilter = GetActivityFilter(userSid, hours, ticketAndServiceRequestEnabled(), queueoption, queues);
|
||||
activityFilter = await ApplyActivityFiltersAsync(activityFilter, null);
|
||||
if (string.IsNullOrWhiteSpace(activityFilter))
|
||||
return new List<cF4SDTicketSummary>();
|
||||
LogEntry($"ASql Filter: {activityFilter}");
|
||||
|
||||
var activityTable = FragmentRequestBase.SimpleLoad(SPSActivityClassBaseID,
|
||||
@@ -279,6 +282,9 @@ namespace C4IT.F4SD
|
||||
|
||||
var tickets = new List<cF4SDTicketSummary>();
|
||||
var activityFilter = GetActivityFilter(userId, hours, ticketAndServiceRequestEnabled(), queueoption, queues);
|
||||
activityFilter = await ApplyActivityFiltersAsync(activityFilter, null);
|
||||
if (string.IsNullOrWhiteSpace(activityFilter))
|
||||
return new List<cF4SDTicketSummary>();
|
||||
LogEntry($"ASql Filter: {activityFilter}");
|
||||
|
||||
var activityTable = FragmentRequestBase.SimpleLoad(SPSActivityClassBaseID,
|
||||
@@ -982,6 +988,7 @@ namespace C4IT.F4SD
|
||||
|
||||
var roleIds = await ResolveTicketOverviewRoleIdsAsync(sid, null);
|
||||
var filter = BuildTicketOverviewFilterForRoleIds(roleIds, null, queueoption, queues);
|
||||
filter = await ApplyActivityFiltersAsync(filter, null);
|
||||
if (string.IsNullOrWhiteSpace(filter))
|
||||
return new List<TicketOverviewEntry>();
|
||||
|
||||
@@ -1015,6 +1022,7 @@ namespace C4IT.F4SD
|
||||
|
||||
var roleIds = await ResolveTicketOverviewRoleIdsAsync(userId, null);
|
||||
var filter = BuildTicketOverviewFilterForRoleIds(roleIds, null, queueoption, queues);
|
||||
filter = await ApplyActivityFiltersAsync(filter, null);
|
||||
if (string.IsNullOrWhiteSpace(filter))
|
||||
return new List<TicketOverviewEntry>();
|
||||
|
||||
@@ -1044,6 +1052,7 @@ namespace C4IT.F4SD
|
||||
await Task.Delay(0);
|
||||
|
||||
var filter = BuildTicketOverviewFilterForRoleIds(roleIds, null, queueoption, queues);
|
||||
filter = await ApplyActivityFiltersAsync(filter, null);
|
||||
return await LoadTicketOverviewEntriesByFilter(filter);
|
||||
}
|
||||
catch (Exception E)
|
||||
@@ -1195,11 +1204,12 @@ namespace C4IT.F4SD
|
||||
{
|
||||
var recipientFilter = $"Recipient.Accounts.T(SPSAccountClassAd).Sid = '{Escape(sid)}'";
|
||||
filter += $" AND ({recipientFilter})";
|
||||
return filter;
|
||||
return await ApplyActivityFiltersAsync(filter, null);
|
||||
}
|
||||
|
||||
var roleIds = await ResolveTicketOverviewRoleIdsAsync(sid, null);
|
||||
return BuildTicketOverviewFilterForRoleIds(roleIds, filter);
|
||||
filter = BuildTicketOverviewFilterForRoleIds(roleIds, filter);
|
||||
return await ApplyActivityFiltersAsync(filter, null);
|
||||
}
|
||||
|
||||
private async Task<string> BuildTicketOverviewFilterAsync(
|
||||
@@ -1214,11 +1224,12 @@ namespace C4IT.F4SD
|
||||
{
|
||||
var recipientFilter = $"Recipient = '{Escape(userId.ToString("D"))}'";
|
||||
filter += $" AND ({recipientFilter})";
|
||||
return filter;
|
||||
return await ApplyActivityFiltersAsync(filter, null);
|
||||
}
|
||||
|
||||
var roleIds = await ResolveTicketOverviewRoleIdsAsync(userId, null);
|
||||
return BuildTicketOverviewFilterForRoleIds(roleIds, filter);
|
||||
filter = BuildTicketOverviewFilterForRoleIds(roleIds, filter);
|
||||
return await ApplyActivityFiltersAsync(filter, null);
|
||||
}
|
||||
|
||||
private string BuildTicketOverviewBaseFilter(int queueoption, List<cApiM42TicketQueueInfo> queues)
|
||||
|
||||
Reference in New Issue
Block a user