Files
Wino-Mail/Wino.Core.Domain/Models/Synchronization/AccountSynchronizationProgress.cs
2026-04-11 13:00:56 +02:00

31 lines
794 B
C#

using System;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Models.Synchronization;
public record AccountSynchronizationProgress(
Guid AccountId,
SynchronizationProgressCategory Category,
bool IsInProgress,
bool IsIndeterminate,
double ProgressPercentage,
int TotalUnits,
int RemainingUnits,
string Status,
AccountSynchronizerState State)
{
public int CompletedUnits => Math.Max(0, TotalUnits - RemainingUnits);
public static AccountSynchronizationProgress Idle(Guid accountId, SynchronizationProgressCategory category)
=> new(
accountId,
category,
false,
false,
0,
0,
0,
string.Empty,
AccountSynchronizerState.Idle);
}