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); }