Exemplo n.º 1
0
        private void Analyze(Data data, int year_i)
        {
            YearData current_year = data.years[year_i];

            richTextBox1.Text = "";

            //richTextBox1.Text += "Year: \r\n";
            //foreach (YearData year in data.years)
            //{
            //	richTextBox1.Text += $"{year.date.Year} - {year.counter}\r\n";
            //}

            richTextBox1.Text += "Month: \r\n";
            current_year.CalculateCommitsPerMonths();
            foreach (MonthData month in current_year.months_data)
            {
                int target    = 1000 / 12;
                int to_target = month.counter - target;

                if (month.counter > 0)
                {
                    richTextBox1.Text += String.Format("{0:##} - {1} ({2})\r\n", month.date.Month, month.counter, to_target);
                }
                else
                {
                    richTextBox1.Text += String.Format("{0:##} - {1}\r\n", month.date.Month, month.counter);
                }
            }

            //richTextBox1.Text += "DayOfWeek: \r\n";
            current_year.CalculateCommitsPerDayOfWeek();
            //foreach (DayOfWeekData dayOfWeekData in current_year.dayofweek_data)
            //{
            //	richTextBox1.Text += $"{dayOfWeekData.day_of_week.ToString().Substring(0, 3)} - {dayOfWeekData.counter}\r\n";
            //}

            current_year.CalculateMaxCommitsPerDay();
            richTextBox1.Text += String.Format("Max commits per day: {0} ({1})\r\n",
                                               current_year.max_per_day,
                                               current_year.max_per_day_date.ToString("yyyy-MM-dd")
                                               );

            current_year.CalculateLongestStreak();
            richTextBox1.Text += String.Format("Longest streak: {0} ({1} - {2})\r\n",
                                               current_year.longest_streak,
                                               current_year.longest_streak_start.ToString("yyyy-MM-dd"),
                                               current_year.longest_streak_end.ToString("yyyy-MM-dd")
                                               );

            current_year.CalculateDaysWithCommits();
            //richTextBox1.Text += String.Format("Days with commits:    {0} ({1:00.00}%)\r\n",
            //	current_year.days_with_commits,
            //	((double)current_year.days_with_commits / (double)((double)current_year.days_with_commits + (double)current_year.days_without_commits)) * 100.0
            //	);
            //richTextBox1.Text += String.Format("Days without commits: {0} ({1:00.00}%)\r\n",
            //	current_year.days_without_commits,
            //	((double)current_year.days_without_commits / (double)((double)current_year.days_with_commits + (double)current_year.days_without_commits)) * 100.0
            //	);

            richTextBox1.Text += "Year:\r\n";
            current_year.CalculateCommitsPerDayAvg();
            richTextBox1.Text += String.Format("Commits per day (without zero): {0:#0.000}\r\n", current_year.commits_per_day_wn_avg);
            richTextBox1.Text += String.Format("Commits per day: {0:#0.000}\r\n", current_year.commits_per_day_avg);
            richTextBox1.Text += String.Format("Commits per year forecast: {0}\r\n", current_year.commits_per_year_forecast);

            if (current_year.date.Year == DateTime.Now.Year)
            {
                richTextBox1.Text += "Month:\r\n";
                MonthData last_month = current_year.months_data[DateTime.Now.Month - 1];
                last_month.CalculateCommitsPerDayAvg();
                richTextBox1.Text += String.Format("Commits per day: {0:#0.000}\r\n", last_month.commits_per_day_avg);
                richTextBox1.Text += String.Format("Commits per month forecast: {0}\r\n", last_month.commits_per_month_forecast);
            }

            RenderGraphMonthsData(data, year_i);
            RenderGraphDaysOfWeek(data, year_i);
            RenderGraphYearsData(data);
            RenderGraphDaysWithAndWithout(data, year_i);
        }