using System; using System.Collections.Generic; using System.Threading; using JiraTimeBotForm.Configuration; using JiraTimeBotForm.Mercurial; using JiraTimeBotForm.Mercurial.Objects; namespace JiraTimeBotForm.JiraIntegration { public class JiraCommitEmulator : IMercurialLog { private readonly ILog _log; private readonly JiraApi _jiraApi; public JiraCommitEmulator(ILog log, JiraApi jiraApi) { _log = log; _jiraApi = jiraApi; } public List GetMercurialLog(Settings settings, DateTime? date = null, CancellationToken cancellationToken = default(CancellationToken)) { date = date.GetValueOrDefault(DateTime.Now.Date); var workTasks = new List(); var issues = _jiraApi.GetTodayIssues(settings, date, cancellationToken); foreach (var issue in issues) { workTasks.Add(new MercurialCommitItem { Description = issue.Summary, Time = issue.Updated.GetValueOrDefault(date.Value), Branch = issue.Key.Value, FilesAffected = 1 }); } return workTasks; } } }