Еще рефакторинга
This commit is contained in:
@@ -2,11 +2,13 @@
|
||||
using Autofac;
|
||||
using Autofac.Extras.AggregateService;
|
||||
using JiraTimeBotForm.JiraIntegration;
|
||||
using JiraTimeBotForm.JiraIntegration.Comments;
|
||||
using JiraTimeBotForm.Mercurial;
|
||||
using JiraTimeBotForm.TaskProcessors;
|
||||
using JiraTimeBotForm.Mercurial.Modifiers;
|
||||
using JiraTimeBotForm.TasksProcessors;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
using JiraTimeBotForm.UI;
|
||||
using JiraTimeBotForm.UI.Tray;
|
||||
|
||||
namespace JiraTimeBotForm.DI
|
||||
{
|
||||
@@ -25,12 +27,13 @@ namespace JiraTimeBotForm.DI
|
||||
_builder.Register(f => new TrayMenu()).As<ITrayMenu>().AsSelf();
|
||||
_builder.Register(c => new CommitSkipper()).As<ICommitSkipper>();
|
||||
|
||||
_builder.Register(c => new MercurialLog(c.Resolve<ILog>(), c.Resolve<ICommitSkipper>())).As<IMercurialLog>().AsSelf();
|
||||
_builder.Register(c => new TaskTimeDiscoverer(c.Resolve<ILog>())).As<ITaskTimeDiscoverer>().AsSelf();
|
||||
_builder.RegisterType<TechnicalInfoSkipper>().As<ITechnicalInfoSkipper>().AsSelf();
|
||||
_builder.RegisterType<MercurialLog>().As<IMercurialLog>().AsSelf();
|
||||
_builder.RegisterType<TaskTimeDiscoverer>().As<ITaskTimeDiscoverer>().AsSelf();
|
||||
|
||||
_builder.RegisterType<WorkLogTasksProcessor>().AsSelf().As<ITasksProcessor>();
|
||||
_builder.RegisterType<MeetingProcessor>().AsSelf().As<ITasksProcessor>();
|
||||
_builder.RegisterAggregateService<ITasksProcessors>();
|
||||
_builder.RegisterAggregateService<IAllTasksProcessors>();
|
||||
|
||||
_builder.RegisterType<JiraDescriptionSource>().AsSelf().As<IJiraDescriptionSource>();
|
||||
_builder.RegisterType<JiraApi>().AsSelf().AsImplementedInterfaces();
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
using JiraTimeBotForm.TaskTime.Objects;
|
||||
|
||||
namespace JiraTimeBotForm.JiraIntegration
|
||||
namespace JiraTimeBotForm.JiraIntegration.Comments
|
||||
{
|
||||
public interface IJiraDescriptionSource
|
||||
{
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
using JiraTimeBotForm.TaskTime.Objects;
|
||||
|
||||
namespace JiraTimeBotForm.JiraIntegration
|
||||
namespace JiraTimeBotForm.JiraIntegration.Comments
|
||||
{
|
||||
public class JiraDescriptionSource : IJiraDescriptionSource
|
||||
{
|
||||
@@ -3,7 +3,9 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Atlassian.Jira;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.JiraIntegration.Comments;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
using JiraTimeBotForm.TaskTime.Objects;
|
||||
|
||||
namespace JiraTimeBotForm.JiraIntegration
|
||||
{
|
||||
|
||||
@@ -81,15 +81,17 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DI\ContainerBuilder.cs" />
|
||||
<Compile Include="JiraIntegration\IJiraDescriptionSource.cs" />
|
||||
<Compile Include="JiraIntegration\JiraDescriptionSource.cs" />
|
||||
<Compile Include="JiraIntegration\Comments\IJiraDescriptionSource.cs" />
|
||||
<Compile Include="JiraIntegration\Comments\JiraDescriptionSource.cs" />
|
||||
<Compile Include="Job.cs" />
|
||||
<Compile Include="Logger.cs" />
|
||||
<Compile Include="Configuration\Settings.cs" />
|
||||
<Compile Include="Mercurial\CommitSkipper.cs" />
|
||||
<Compile Include="Mercurial\ICommitSkipper.cs" />
|
||||
<Compile Include="Mercurial\Modifiers\ITechnicalInfoSkipper.cs" />
|
||||
<Compile Include="Mercurial\Modifiers\CommitSkipper.cs" />
|
||||
<Compile Include="Mercurial\Modifiers\ICommitSkipper.cs" />
|
||||
<Compile Include="Mercurial\IMercurialLog.cs" />
|
||||
<Compile Include="TasksProcessors\ITasksProcessors.cs" />
|
||||
<Compile Include="Mercurial\Modifiers\TechnicalInfoSkipper.cs" />
|
||||
<Compile Include="TasksProcessors\IAllTasksProcessors.cs" />
|
||||
<Compile Include="UI\frmMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -97,7 +99,7 @@
|
||||
<DependentUpon>frmMain.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="JiraIntegration\JiraApi.cs" />
|
||||
<Compile Include="Mercurial\MercurialCommitItem.cs" />
|
||||
<Compile Include="Mercurial\Objects\MercurialCommitItem.cs" />
|
||||
<Compile Include="Mercurial\MercurialLog.cs" />
|
||||
<Compile Include="Configuration\PasswordEncryptionClass.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
@@ -107,10 +109,10 @@
|
||||
<Compile Include="TasksProcessors\WorkLogTasksProcessor.cs" />
|
||||
<Compile Include="TaskTime\ITaskTimeDiscoverer.cs" />
|
||||
<Compile Include="TaskTime\TaskTimeDiscoverer.cs" />
|
||||
<Compile Include="TaskTime\TaskTimeItem.cs" />
|
||||
<Compile Include="UI\ITrayMenu.cs" />
|
||||
<Compile Include="UI\RestoreFromTray.cs" />
|
||||
<Compile Include="UI\TrayMenu.cs" />
|
||||
<Compile Include="TaskTime\Objects\TaskTimeItem.cs" />
|
||||
<Compile Include="UI\Tray\ITrayMenu.cs" />
|
||||
<Compile Include="UI\Tray\RestoreFromTray.cs" />
|
||||
<Compile Include="UI\Tray\TrayMenu.cs" />
|
||||
<EmbeddedResource Include="UI\frmMain.resx">
|
||||
<DependentUpon>frmMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@@ -5,9 +5,10 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.Mercurial;
|
||||
using JiraTimeBotForm.TaskProcessors;
|
||||
using JiraTimeBotForm.Mercurial.Objects;
|
||||
using JiraTimeBotForm.TasksProcessors;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
using JiraTimeBotForm.TaskTime.Objects;
|
||||
|
||||
namespace JiraTimeBotForm
|
||||
{
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.Mercurial.Objects;
|
||||
|
||||
namespace JiraTimeBotForm.Mercurial
|
||||
{
|
||||
|
||||
@@ -5,6 +5,8 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.Mercurial.Modifiers;
|
||||
using JiraTimeBotForm.Mercurial.Objects;
|
||||
using Mercurial;
|
||||
|
||||
namespace JiraTimeBotForm.Mercurial
|
||||
@@ -13,11 +15,13 @@ namespace JiraTimeBotForm.Mercurial
|
||||
{
|
||||
private readonly ILog _log;
|
||||
private readonly ICommitSkipper _commitSkipper;
|
||||
private readonly ITechnicalInfoSkipper _technicalInfoSkipper;
|
||||
|
||||
public MercurialLog(ILog log, ICommitSkipper commitSkipper)
|
||||
public MercurialLog(ILog log, ICommitSkipper commitSkipper, ITechnicalInfoSkipper technicalInfoSkipper)
|
||||
{
|
||||
_log = log;
|
||||
_commitSkipper = commitSkipper;
|
||||
_technicalInfoSkipper = technicalInfoSkipper;
|
||||
}
|
||||
|
||||
public List<MercurialCommitItem> GetMercurialLog(Settings settings, DateTime? date = null, CancellationToken cancellationToken = default(CancellationToken))
|
||||
@@ -60,7 +64,7 @@ namespace JiraTimeBotForm.Mercurial
|
||||
{
|
||||
continue;
|
||||
}
|
||||
commitMessage = StripTechnicalInfo(commitMessage);
|
||||
commitMessage = _technicalInfoSkipper.StripTechnicalInfo(commitMessage);
|
||||
|
||||
workTasks.Add(new MercurialCommitItem
|
||||
{
|
||||
@@ -81,40 +85,6 @@ namespace JiraTimeBotForm.Mercurial
|
||||
}
|
||||
|
||||
|
||||
private string StripTechnicalInfo(string commitMessage)
|
||||
{
|
||||
if (!commitMessage.Contains("Signed-by:"))
|
||||
{
|
||||
return commitMessage;
|
||||
}
|
||||
|
||||
var arr = commitMessage.Split('\n');
|
||||
var sb = new StringBuilder();
|
||||
foreach (var itm in arr)
|
||||
{
|
||||
if (string.IsNullOrEmpty(itm))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (itm.StartsWith("Signed-by"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (itm.StartsWith("Jira:"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
sb.AppendLine(itm);
|
||||
}
|
||||
|
||||
var message = sb.ToString();
|
||||
message = message.TrimEnd('\n');
|
||||
message = message.TrimEnd('\r');
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
private string FixEncoding(string source)
|
||||
{
|
||||
//перекодируем сообщение - ибо оно криво забирается в 1252
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace JiraTimeBotForm.Mercurial
|
||||
namespace JiraTimeBotForm.Mercurial.Modifiers
|
||||
{
|
||||
public class CommitSkipper : ICommitSkipper
|
||||
{
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace JiraTimeBotForm.Mercurial
|
||||
namespace JiraTimeBotForm.Mercurial.Modifiers
|
||||
{
|
||||
public interface ICommitSkipper
|
||||
{
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace JiraTimeBotForm.Mercurial.Modifiers
|
||||
{
|
||||
public interface ITechnicalInfoSkipper
|
||||
{
|
||||
string StripTechnicalInfo(string commitMessage);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using System.Text;
|
||||
|
||||
namespace JiraTimeBotForm.Mercurial.Modifiers
|
||||
{
|
||||
public class TechnicalInfoSkipper : ITechnicalInfoSkipper
|
||||
{
|
||||
public string StripTechnicalInfo(string commitMessage)
|
||||
{
|
||||
if (!commitMessage.Contains("Signed-by:"))
|
||||
{
|
||||
return commitMessage;
|
||||
}
|
||||
|
||||
var arr = commitMessage.Split('\n');
|
||||
var sb = new StringBuilder();
|
||||
foreach (var itm in arr)
|
||||
{
|
||||
if (string.IsNullOrEmpty(itm))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (itm.StartsWith("Signed-by"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (itm.StartsWith("Jira:"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
sb.AppendLine(itm);
|
||||
}
|
||||
|
||||
var message = sb.ToString();
|
||||
message = message.TrimEnd('\n');
|
||||
message = message.TrimEnd('\r');
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace JiraTimeBotForm.Mercurial
|
||||
namespace JiraTimeBotForm.Mercurial.Objects
|
||||
{
|
||||
public class MercurialCommitItem
|
||||
{
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Forms;
|
||||
using JiraTimeBotForm.UI;
|
||||
|
||||
namespace JiraTimeBotForm
|
||||
{
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
using System.Threading;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.Mercurial;
|
||||
using JiraTimeBotForm.Mercurial.Objects;
|
||||
using JiraTimeBotForm.TaskTime.Objects;
|
||||
|
||||
namespace JiraTimeBotForm.TaskTime
|
||||
{
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace JiraTimeBotForm.TaskTime
|
||||
namespace JiraTimeBotForm.TaskTime.Objects
|
||||
{
|
||||
public class TaskTimeItem
|
||||
{
|
||||
@@ -5,6 +5,8 @@ using System.Text;
|
||||
using System.Threading;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.Mercurial;
|
||||
using JiraTimeBotForm.Mercurial.Objects;
|
||||
using JiraTimeBotForm.TaskTime.Objects;
|
||||
|
||||
namespace JiraTimeBotForm.TaskTime
|
||||
{
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
namespace JiraTimeBotForm.TasksProcessors
|
||||
{
|
||||
public interface ITasksProcessors
|
||||
public interface IAllTasksProcessors
|
||||
{
|
||||
WorkLogTasksProcessor WorkLogTasksProcessor { get; }
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
using JiraTimeBotForm.TaskTime.Objects;
|
||||
|
||||
namespace JiraTimeBotForm.TaskProcessors
|
||||
namespace JiraTimeBotForm.TasksProcessors
|
||||
{
|
||||
interface ITasksProcessor
|
||||
{
|
||||
|
||||
@@ -3,8 +3,8 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.JiraIntegration;
|
||||
using JiraTimeBotForm.TaskProcessors;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
using JiraTimeBotForm.TaskTime.Objects;
|
||||
|
||||
namespace JiraTimeBotForm.TasksProcessors
|
||||
{
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
using System.Collections.Generic;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.JiraIntegration;
|
||||
using JiraTimeBotForm.TaskProcessors;
|
||||
using JiraTimeBotForm.TaskTime;
|
||||
using JiraTimeBotForm.TaskTime.Objects;
|
||||
|
||||
namespace JiraTimeBotForm.TasksProcessors
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace JiraTimeBotForm.UI
|
||||
namespace JiraTimeBotForm.UI.Tray
|
||||
{
|
||||
public interface ITrayMenu
|
||||
{
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace JiraTimeBotForm.UI
|
||||
namespace JiraTimeBotForm.UI.Tray
|
||||
{
|
||||
public static class RestoreFromTray {
|
||||
[DllImport( "user32.dll" )]
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace JiraTimeBotForm.UI
|
||||
namespace JiraTimeBotForm.UI.Tray
|
||||
{
|
||||
public class TrayMenu: ITrayMenu
|
||||
{
|
||||
Generated
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace JiraTimeBotForm
|
||||
namespace JiraTimeBotForm.UI
|
||||
{
|
||||
partial class frmMain
|
||||
{
|
||||
|
||||
@@ -8,12 +8,12 @@ using Autofac;
|
||||
using JiraTimeBotForm.Configuration;
|
||||
using JiraTimeBotForm.DI;
|
||||
using JiraTimeBotForm.TasksProcessors;
|
||||
using JiraTimeBotForm.UI;
|
||||
using JiraTimeBotForm.UI.Tray;
|
||||
|
||||
// This is the code for your desktop app.
|
||||
// Press Ctrl+F5 (or go to Debug > Start Without Debugging) to run your app.
|
||||
|
||||
namespace JiraTimeBotForm
|
||||
namespace JiraTimeBotForm.UI
|
||||
{
|
||||
public partial class frmMain : Form
|
||||
{
|
||||
@@ -21,7 +21,7 @@ namespace JiraTimeBotForm
|
||||
private readonly Job _job;
|
||||
private readonly IReadOnlyList<Control> _controls;
|
||||
private readonly IContainer _container;
|
||||
private readonly ITasksProcessors _tasksProcessors;
|
||||
private readonly IAllTasksProcessors _tasksProcessors;
|
||||
private readonly ITrayMenu _trayIcon;
|
||||
private CancellationTokenSource _tokenSource;
|
||||
|
||||
@@ -47,7 +47,7 @@ namespace JiraTimeBotForm
|
||||
|
||||
_job = _container.Resolve<Job>();
|
||||
_log = _container.Resolve<ILog>();
|
||||
_tasksProcessors = _container.Resolve<ITasksProcessors>();
|
||||
_tasksProcessors = _container.Resolve<IAllTasksProcessors>();
|
||||
|
||||
_controls = new Control[] { txtJiraLogin, txtJiraPassword, txtMercurialEmail, actTime, txtRepoPath, txtDummyMode, btnSave, btnStart, btnMeeting, chkAddComments };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user