Теперь умеем проставлять время по JIRA-е

This commit is contained in:
Danil Kislov
2019-03-15 19:02:18 +03:00
parent b67ff9b079
commit 8cb5e1ae93
7 changed files with 71 additions and 14 deletions
@@ -7,8 +7,8 @@ using JiraTimeBotForm.TaskTime.Objects;
namespace JiraTimeBotForm.TaskTime
{
public interface ITaskTimeDiscoverer
public interface ITaskTimeCalculator
{
List<TaskTimeItem> GetTaskTimes(Settings settings, List<MercurialCommitItem> commitItems, CancellationToken cancellationToken = default(CancellationToken));
List<TaskTimeItem> CalculateTaskTime(List<MercurialCommitItem> commitItems, Settings settings, CancellationToken cancellationToken = default(CancellationToken));
}
}
@@ -10,24 +10,24 @@ using JiraTimeBotForm.TaskTime.Objects;
namespace JiraTimeBotForm.TaskTime
{
public class TaskTimeDiscoverer: ITaskTimeDiscoverer
public class TaskTimeByCommitsCalculator: ITaskTimeCalculator
{
private readonly ILog _log;
public TaskTimeDiscoverer(ILog log)
public TaskTimeByCommitsCalculator(ILog log)
{
_log = log;
}
public List<TaskTimeItem> GetTaskTimes(Settings settings, List<MercurialCommitItem> commitItems, CancellationToken cancellationToken = default(CancellationToken))
public List<TaskTimeItem> CalculateTaskTime(List<MercurialCommitItem> commits, Settings settings, CancellationToken cancellationToken = default(CancellationToken))
{
int remainMinutes = settings.MinuterPerWorkDay;
int totalCommitsCount = commitItems.Count;
int totalCommitsCount = commits.Count;
List<TaskTimeItem> workTimeItems = new List<TaskTimeItem>();
//Нам нужно раскидать 480 минут в день.
foreach (var taskGroup in commitItems.GroupBy(f => f.Branch).OrderByDescending(f=>f.Count()))
foreach (var taskGroup in commits.GroupBy(f => f.Branch).OrderByDescending(f=>f.Count()))
{
if (cancellationToken.IsCancellationRequested)
{