private void InitializeCommitCount()
        {
            ThreadHelper.JoinableTaskFactory.RunAsync(
                async() =>
            {
                await TaskScheduler.Default.SwitchTo(alwaysYield: true);

                var(totalCommits, commitsPerUser) = _module.GetCommitsByContributor();

                await this.SwitchToMainThreadAsync();

                TotalCommits.Text = string.Format(_commits.Text, totalCommits);

                var builder = new StringBuilder();

                var commitCountValues = new decimal[commitsPerUser.Count];
                var commitCountLabels = new string[commitsPerUser.Count];
                var n = 0;
                foreach (var(user, commits) in commitsPerUser)
                {
                    builder.AppendLine($"{commits:N0} {user}");

                    commitCountValues[n] = commits;
                    commitCountLabels[n] = string.Format(_commitsBy.Text, commits, user);
                    n++;
                }

                CommitCountPie.SetValues(commitCountValues);
                CommitCountPie.ToolTips = commitCountLabels;

                CommitStatistics.Text = builder.ToString();
            });
        }
Exemple #2
0
        private void InitializeCommitCount()
        {
            Action <FormGitStatistics> a = sender =>
            {
                var(commitsPerUser, totalCommits) = CommitCounter.GroupAllCommitsByContributor(_module);

                _syncContext.Post(o =>
                {
                    if (IsDisposed)
                    {
                        return;
                    }

                    TotalCommits.Text = string.Format(_commits.Text, totalCommits);

                    var builder = new StringBuilder();

                    var commitCountValues = new decimal[commitsPerUser.Count];
                    var commitCountLabels = new string[commitsPerUser.Count];
                    var n = 0;
                    foreach (var(user, commits) in commitsPerUser)
                    {
                        builder.AppendLine(commits + " " + user);

                        commitCountValues[n] = commits;
                        commitCountLabels[n] = string.Format(_commitsBy.Text, commits, user);
                        n++;
                    }

                    CommitCountPie.SetValues(commitCountValues);
                    CommitCountPie.ToolTips = commitCountLabels;

                    CommitStatistics.Text = builder.ToString();
                }, null);
        private void InitializeCommitCount()
        {
            Action <FormGitStatistics> a = sender =>
            {
                var allCommitsByUser = CommitCounter.GroupAllCommitsByContributor(_module);
                _syncContext.Post(o =>
                {
                    if (IsDisposed)
                    {
                        return;
                    }

                    var totalCommits   = allCommitsByUser.Item2;
                    var commitsPerUser = allCommitsByUser.Item1;

                    TotalCommits.Text = string.Format(_commits.Text, totalCommits);

                    var builder = new StringBuilder();

                    var commitCountValues = new decimal[commitsPerUser.Count];
                    var commitCountLabels = new string[commitsPerUser.Count];
                    var n = 0;
                    foreach (var keyValuePair in commitsPerUser)
                    {
                        var user    = keyValuePair.Key;
                        var commits = keyValuePair.Value;

                        builder.AppendLine(commits + " " + user);

                        commitCountValues[n] = commits;
                        commitCountLabels[n] = string.Format(_commitsBy.Text, commits, user);
                        n++;
                    }

                    CommitCountPie.SetValues(commitCountValues);
                    CommitCountPie.ToolTips = commitCountLabels;

                    CommitStatistics.Text = builder.ToString();
                }, null);
            };

            a.BeginInvoke(null, null, this);
        }