public StatusRepo(CancellationToken cancelToken = default(CancellationToken)) { CancelToken = cancelToken; CreatedAt = Tools.Generic.GetCurrentUtcDateTime; UpdatedAt = Tools.Generic.GetCurrentUtcDateTime; Info = new StatusInfo(RepoStatus.Waiting, 0, 0, 0, 0); }
void UpdateData(double progress, int?active, int done, long?speed) { Info = new StatusInfo(Action, progress, speed, active, done); }
public void Reset() { Info = new StatusInfo(Action, 0, 0, 0, 0); }
public void Finish() { Info = Info.Finish(); }
public static StatusInfo Finish(this StatusInfo statusInfo) => new StatusInfo(statusInfo.Action, 100, 0, 0, statusInfo.Done);
public static StatusInfo UpdateProgress(this StatusInfo statusInfo, double progress) => new StatusInfo(statusInfo.Action, progress, statusInfo.Speed, statusInfo.Active, statusInfo.Done);
public static StatusInfo IncrementDone(this StatusInfo statusInfo) => new StatusInfo(statusInfo.Action, statusInfo.Progress, statusInfo.Speed, statusInfo.Active, statusInfo.Done + 1);