mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 18:53:12 +00:00
67 lines
2 KiB
C#
67 lines
2 KiB
C#
namespace SeaHaven.DataServices.Interfaces
|
|
{
|
|
using Data.SeaHavenIndustries.Enums;
|
|
|
|
public interface IDashboardDataService
|
|
{
|
|
Task<DashboardCounts> GetWorkOrderCountsAsync(
|
|
int? accountId,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<DashboardKpiCounts> GetKpiCountsAsync(
|
|
int? accountId,
|
|
string? dispatcherId,
|
|
DateOnly today,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<IReadOnlyList<DashboardWorkOrder>> GetDashboardWorkOrdersAsync(
|
|
int? accountId,
|
|
string? dispatcherId,
|
|
DateOnly? dateFrom,
|
|
DateOnly? dateTo,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<IReadOnlyList<DashboardDispatcherWorkload>> GetDispatcherWorkloadAsync(
|
|
int? accountId,
|
|
string? dispatcherId,
|
|
DateOnly? dateFrom,
|
|
DateOnly? dateTo,
|
|
CancellationToken cancellationToken);
|
|
}
|
|
|
|
public sealed record DashboardWorkOrder(
|
|
int Id,
|
|
string? AssignTo,
|
|
WorkOrderType? WorkOrderType,
|
|
LifecycleStatus? LifecycleStatus,
|
|
string? LegacyStatus,
|
|
DateTime? ScheduledDate,
|
|
DateOnly? OriginalDate,
|
|
DateTime? CompletedDate,
|
|
string? LocationState = null,
|
|
int RescheduleCount = 0,
|
|
int? VendorCompanyId = null,
|
|
string? VendorCompanyName = null,
|
|
bool VendorIsActive = false,
|
|
bool VendorCompanyIsDeleted = false);
|
|
|
|
public sealed record DashboardDispatcherWorkload(
|
|
string DispatcherId,
|
|
string DispatcherName,
|
|
string? Color,
|
|
int TotalCount,
|
|
int OpenCount);
|
|
|
|
public class DashboardCounts
|
|
{
|
|
public int Total { get; set; }
|
|
public int Open { get; set; }
|
|
public int NotDispatched { get; set; }
|
|
public int Completed { get; set; }
|
|
}
|
|
|
|
public sealed record DashboardKpiCounts(
|
|
int ScheduledTomorrow,
|
|
int PendingUplifts,
|
|
int AvetaPending);
|
|
}
|