public static void TryAddSyncError(this IServiceProvider provider, SyncErrorInfo error) { provider.GetService<ISyncErrorInformer>()?.AddError(error); }
public void AddError(SyncErrorInfo errorInfo) { _asyncOp.Post( () => { // Drop text, if previous error was the same if (HasSameErrorText(errorInfo)) errorInfo = new SyncErrorInfo(errorInfo.Type, errorInfo.TaskName, _skippedTextSubst); _errors.Add(errorInfo); if (!_errorMode) { _splitContainer.Panel2Collapsed = false; Height = _errorHeight; _copyButton.Visible = true; _errorMode = true; } }); }
private bool HasSameErrorText(SyncErrorInfo errorInfo) { var i = _errors.Count - 1; while (i >= 0) { var cur = _errors[i]; if (cur.Text != _skippedTextSubst) return cur.Text == errorInfo.Text; i--; } return false; }
public static void TryAddSyncError(this IServiceProvider provider, SyncErrorInfo error) { var svc = provider.GetService<ISyncErrorInformer>(); if (svc == null) return; svc.AddError(error); }