Увеличил немного таймер

This commit is contained in:
Danil Kislov
2019-03-14 11:48:27 +03:00
parent 7dd520b03f
commit 2116336723
+20 -11
View File
@@ -54,33 +54,42 @@ namespace JiraTimeBotForm.TaskTime
Application.DoEvents(); Application.DoEvents();
} }
} }
if (!workTasks.Any())
{
return new List<TaskTimeItem>();
}
int remainMinutes = settings.MinuterPerWorkDay; int remainMinutes = settings.MinuterPerWorkDay;
float fifteenMinIntervals = settings.MinuterPerWorkDay / 15;
float intervalPerCommit = fifteenMinIntervals / workTasks.Count;
//Нам нужно раскидать 480 минут в день. //Нам нужно раскидать 480 минут в день.
var workTimeItems = new List<TaskTimeItem>(); var workTimeItems = new List<TaskTimeItem>();
foreach (var taskGroup in workTasks.GroupBy(f=>f)) foreach (var taskGroup in workTasks.GroupBy(f=>f))
{ {
int currentIntervalsCount = (int)(intervalPerCommit * taskGroup.Count()); int currentTaskCommits = taskGroup.Count();
var minutesForCurrentTaskGroup = currentIntervalsCount * 15; int currentTaskTime = (int)RoundTo15(settings.MinuterPerWorkDay / workTasks.Count * currentTaskCommits);
remainMinutes = remainMinutes - minutesForCurrentTaskGroup; remainMinutes = remainMinutes - currentTaskTime;
workTimeItems.Add(new TaskTimeItem workTimeItems.Add(new TaskTimeItem
{ {
Branch = taskGroup.Key, Branch = taskGroup.Key,
Time = TimeSpan.FromMinutes(minutesForCurrentTaskGroup), Time = TimeSpan.FromMinutes(currentTaskTime),
Commits = taskGroup.Count(), Commits = taskGroup.Count(),
}); });
} }
workTimeItems.First().Time += TimeSpan.FromMinutes(remainMinutes);
if (workTimeItems.Any())
{
workTimeItems.First().Time += TimeSpan.FromMinutes(remainMinutes);
}
return workTimeItems; return workTimeItems;
} }
private decimal RoundTo15(decimal value, bool up = true)
{
if ((value % 15) == 0)
return value;
if (up)
return (value - (value % 15) + 15);
return (value - (value % 15));
}
} }
} }