protected void OnProgress(int allCount, int currentCount) { if (progressEvent != null) { if (!initializedDataAreSent) { // Если инициализируемые данные не отправляли, то отправляем. progressEvent(this, new SqlWorkerProgressEventArgs(allCount, 0, 0, true)); initializedDataAreSent = true; } SqlWorkerProgressEventArgs e = new SqlWorkerProgressEventArgs(allCount, currentCount, currentCount - prevCurrentCount, false); progressEvent(this, e); prevCurrentCount = currentCount; // Если полное колличество равно текущему, то восстанавливаем // признак инициализируемых данных. if (allCount == currentCount) { initializedDataAreSent = false; prevCurrentCount = 0; } } }
private void OnSqlWorkerProgress(object sender, SqlWorkerProgressEventArgs e) { OnProgress(e.AllCount, e.Increment, e.IsInitializedData); }