public void ProgressChanged(decimal progress, string?status = null) { if (progress != CurrentProcess.Progress || status != CurrentProcess.Status) { CurrentProcess.Progress = progress; CurrentProcess.Status = status; var ic = CurrentProcess.FullIntegrityCheck(); if (ic != null) { throw new IntegrityCheckException(ic); } CurrentProcess.InDB() .UnsafeUpdate() .Set(a => a.Progress, a => progress) .Set(a => a.Status, a => status) .Execute(); } }