Ключевой функционал в отдельном классе и пара обработчиков задач: митинг и учет времени
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
|
||||
namespace JiraTimeBotForm.TaskProcessors
|
||||
{
|
||||
interface ITasksProcessor
|
||||
{
|
||||
void Process(DateTime date, List<TaskTimeItem> taskTimes, Settings settings);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.JiraIntegration;
|
||||
using JiraTimeBotForm.TaskProcessors;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
|
||||
namespace JiraTimeBotForm.TasksProcessors
|
||||
{
|
||||
class MeetingProcessor : ITasksProcessor
|
||||
{
|
||||
private readonly ILog _log;
|
||||
|
||||
public MeetingProcessor(ILog log)
|
||||
{
|
||||
_log = log;
|
||||
}
|
||||
|
||||
public void Process(DateTime date, List<TaskTimeItem> taskTimes, Settings settings)
|
||||
{
|
||||
var jira = new JiraApi(settings, _log);
|
||||
|
||||
_log.Trace($"На реальную дату {date:dd.MM.yyyy} распределение по задачам:");
|
||||
|
||||
foreach (var taskTime in taskTimes.OrderByDescending(f => f.Time))
|
||||
{
|
||||
var taskName = jira.GetTaskName(taskTime.Branch);
|
||||
_log.Trace($" - [{taskTime.Branch}, коммитов {taskTime.Commits}]: {taskName} - {taskTime.Time}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.JiraIntegration;
|
||||
using JiraTimeBotForm.TaskProcessors;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
|
||||
namespace JiraTimeBotForm.TasksProcessors
|
||||
{
|
||||
class WorkLogTasksProcessor : ITasksProcessor
|
||||
{
|
||||
private readonly ILog _log;
|
||||
|
||||
public WorkLogTasksProcessor(ILog log)
|
||||
{
|
||||
_log = log;
|
||||
}
|
||||
|
||||
public void Process(DateTime date, List<TaskTimeItem> taskTimes, Settings settings)
|
||||
{
|
||||
_log.Trace($"На реальную дату {date:dd.MM.yyyy} распределение по задачам:");
|
||||
foreach (var taskTime in taskTimes)
|
||||
{
|
||||
_log.Trace($"- {taskTime.Branch} (коммитов {taskTime.Commits}): {taskTime.Time}");
|
||||
}
|
||||
|
||||
var jira = new JiraApi(settings, _log);
|
||||
jira.SetTodayWorklog(taskTimes, dummy: settings.DummyMode);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user