From bb8b6723ec0b40318c491a0e5db8f3beca3abc1e Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Mon, 8 Apr 2019 21:49:57 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D1=83=D1=85=D0=B8=20=D0=B2=20=D0=BE?= =?UTF-8?q?=D0=B4=D0=BD=D1=83=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D1=83,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BB=D0=B5=D1=82=D1=8B=20=D0=B2=20=D0=B4?= =?UTF-8?q?=D1=80=D1=83=D0=B3=D1=83=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Configuration/Settings.cs | 3 +- .../Encryption}/PasswordEncryptionClass.cs | 2 +- src/JiraTimeBot.Core/ILog.cs | 12 +++++++ .../Comments/IJiraDescriptionSource.cs | 6 ++-- .../Comments/JiraDescriptionSource.cs | 18 ++++++---- .../JiraIntegration/JiraApi.cs | 8 ++--- .../JiraIntegration/JiraCommitEmulator.cs | 8 ++--- src/JiraTimeBot.Core/JiraTimeBot.Core.csproj | 18 ++++++++++ src/{JiraTimeBot => JiraTimeBot.Core}/Job.cs | 20 ++++++----- .../Mercurial/IAllMercurialProviders.cs | 4 +-- .../Mercurial/IMercurialLog.cs | 6 ++-- .../Mercurial/MercurialLog.cs | 8 ++--- .../Mercurial/Modifiers/CommitSkipper.cs | 2 +- .../Mercurial/Modifiers/ICommitSkipper.cs | 2 +- .../Modifiers/ITechnicalInfoSkipper.cs | 2 +- .../Modifiers/TechnicalInfoSkipper.cs | 2 +- .../Mercurial/Objects/MercurialCommitItem.cs | 2 +- .../StartUp}/AutoStartUp.cs | 2 +- .../TaskTime/ITaskTimeCalculator.cs | 15 ++++++++ .../TaskTime/Objects/TaskTimeItem.cs | 2 +- .../TaskTime/TaskTimeByCommitsCalculator.cs | 14 ++++---- .../TasksProcessors/IAllTasksProcessors.cs | 2 +- .../TasksProcessors/ITasksProcessor.cs | 8 ++--- .../TasksProcessors/MeetingProcessor.cs | 8 ++--- .../TasksProcessors/WorkLogTasksProcessor.cs | 8 ++--- .../Update/GitHubDataObjects.cs | 2 +- src/JiraTimeBot.Core/Update/IUpdater.cs | 7 ++++ .../Update/Updater.cs | 4 +-- .../ViewModels/ApplicationViewModel.cs | 3 -- src/JiraTimeBot.sln | 10 ++++-- src/JiraTimeBot/App.config | 16 ++++----- src/JiraTimeBot/DI/ContainerBuilder.cs | 18 +++++----- src/JiraTimeBot/JiraTimeBot.csproj | 36 +++++-------------- src/JiraTimeBot/Logger.cs | 9 +---- .../Properties/Resources.Designer.cs | 2 +- .../Properties/Settings.Designer.cs | 2 +- .../TaskTime/ITaskTimeCalculator.cs | 13 ------- src/JiraTimeBot/UI/Tray/SingleInstance.cs | 2 +- src/JiraTimeBot/UI/frmMain.cs | 10 +++--- src/JiraTimeBot/UI/frmSettings.cs | 4 +-- src/JiraTimeBot/Update/IUpdater.cs | 9 ----- 41 files changed, 176 insertions(+), 153 deletions(-) rename src/{JiraTimeBot => JiraTimeBot.Core}/Configuration/Settings.cs (98%) rename src/{JiraTimeBot/Configuration => JiraTimeBot.Core/Encryption}/PasswordEncryptionClass.cs (97%) create mode 100644 src/JiraTimeBot.Core/ILog.cs rename src/{JiraTimeBot => JiraTimeBot.Core}/JiraIntegration/Comments/IJiraDescriptionSource.cs (53%) rename src/{JiraTimeBot => JiraTimeBot.Core}/JiraIntegration/Comments/JiraDescriptionSource.cs (57%) rename src/{JiraTimeBot => JiraTimeBot.Core}/JiraIntegration/JiraApi.cs (97%) rename src/{JiraTimeBot => JiraTimeBot.Core}/JiraIntegration/JiraCommitEmulator.cs (94%) create mode 100644 src/JiraTimeBot.Core/JiraTimeBot.Core.csproj rename src/{JiraTimeBot => JiraTimeBot.Core}/Job.cs (89%) rename src/{JiraTimeBot => JiraTimeBot.Core}/Mercurial/IAllMercurialProviders.cs (66%) rename src/{JiraTimeBot => JiraTimeBot.Core}/Mercurial/IMercurialLog.cs (70%) rename src/{JiraTimeBot => JiraTimeBot.Core}/Mercurial/MercurialLog.cs (95%) rename src/{JiraTimeBot => JiraTimeBot.Core}/Mercurial/Modifiers/CommitSkipper.cs (93%) rename src/{JiraTimeBot => JiraTimeBot.Core}/Mercurial/Modifiers/ICommitSkipper.cs (69%) rename src/{JiraTimeBot => JiraTimeBot.Core}/Mercurial/Modifiers/ITechnicalInfoSkipper.cs (69%) rename src/{JiraTimeBot => JiraTimeBot.Core}/Mercurial/Modifiers/TechnicalInfoSkipper.cs (95%) rename src/{JiraTimeBot => JiraTimeBot.Core}/Mercurial/Objects/MercurialCommitItem.cs (84%) rename src/{JiraTimeBot/UI/Startup => JiraTimeBot.Core/StartUp}/AutoStartUp.cs (94%) create mode 100644 src/JiraTimeBot.Core/TaskTime/ITaskTimeCalculator.cs rename src/{JiraTimeBot => JiraTimeBot.Core}/TaskTime/Objects/TaskTimeItem.cs (88%) rename src/{JiraTimeBot => JiraTimeBot.Core}/TaskTime/TaskTimeByCommitsCalculator.cs (92%) rename src/{JiraTimeBot => JiraTimeBot.Core}/TasksProcessors/IAllTasksProcessors.cs (78%) rename src/{JiraTimeBot => JiraTimeBot.Core}/TasksProcessors/ITasksProcessor.cs (64%) rename src/{JiraTimeBot => JiraTimeBot.Core}/TasksProcessors/MeetingProcessor.cs (86%) rename src/{JiraTimeBot => JiraTimeBot.Core}/TasksProcessors/WorkLogTasksProcessor.cs (87%) rename src/{JiraTimeBot => JiraTimeBot.Core}/Update/GitHubDataObjects.cs (99%) create mode 100644 src/JiraTimeBot.Core/Update/IUpdater.cs rename src/{JiraTimeBot => JiraTimeBot.Core}/Update/Updater.cs (97%) delete mode 100644 src/JiraTimeBot/TaskTime/ITaskTimeCalculator.cs delete mode 100644 src/JiraTimeBot/Update/IUpdater.cs diff --git a/src/JiraTimeBot/Configuration/Settings.cs b/src/JiraTimeBot.Core/Configuration/Settings.cs similarity index 98% rename from src/JiraTimeBot/Configuration/Settings.cs rename to src/JiraTimeBot.Core/Configuration/Settings.cs index b0791e5..b240826 100644 --- a/src/JiraTimeBot/Configuration/Settings.cs +++ b/src/JiraTimeBot.Core/Configuration/Settings.cs @@ -3,9 +3,10 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Windows.Forms; +using JiraTimeBot.Core.Encryption; using Newtonsoft.Json; -namespace JiraTimeBot.Configuration +namespace JiraTimeBot.Core.Configuration { public class Settings { diff --git a/src/JiraTimeBot/Configuration/PasswordEncryptionClass.cs b/src/JiraTimeBot.Core/Encryption/PasswordEncryptionClass.cs similarity index 97% rename from src/JiraTimeBot/Configuration/PasswordEncryptionClass.cs rename to src/JiraTimeBot.Core/Encryption/PasswordEncryptionClass.cs index 06c522c..48ace1c 100644 --- a/src/JiraTimeBot/Configuration/PasswordEncryptionClass.cs +++ b/src/JiraTimeBot.Core/Encryption/PasswordEncryptionClass.cs @@ -2,7 +2,7 @@ using System.Security.Cryptography; using System.Text; -namespace JiraTimeBot.Configuration +namespace JiraTimeBot.Core.Encryption { public class PasswordEncryptionClass { diff --git a/src/JiraTimeBot.Core/ILog.cs b/src/JiraTimeBot.Core/ILog.cs new file mode 100644 index 0000000..94aef71 --- /dev/null +++ b/src/JiraTimeBot.Core/ILog.cs @@ -0,0 +1,12 @@ +using System.ComponentModel; + +namespace JiraTimeBot.Core +{ + public interface ILog + { + void Info([Localizable(false)] string message); + void Trace([Localizable(false)] string message); + void Warn([Localizable(false)] string message); + void Error([Localizable(false)] string message); + } +} \ No newline at end of file diff --git a/src/JiraTimeBot/JiraIntegration/Comments/IJiraDescriptionSource.cs b/src/JiraTimeBot.Core/JiraIntegration/Comments/IJiraDescriptionSource.cs similarity index 53% rename from src/JiraTimeBot/JiraIntegration/Comments/IJiraDescriptionSource.cs rename to src/JiraTimeBot.Core/JiraIntegration/Comments/IJiraDescriptionSource.cs index 91f3ef0..1da7577 100644 --- a/src/JiraTimeBot/JiraIntegration/Comments/IJiraDescriptionSource.cs +++ b/src/JiraTimeBot.Core/JiraIntegration/Comments/IJiraDescriptionSource.cs @@ -1,7 +1,7 @@ -using JiraTimeBot.Configuration; -using JiraTimeBot.TaskTime.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.TaskTime.Objects; -namespace JiraTimeBot.JiraIntegration.Comments +namespace JiraTimeBot.Core.JiraIntegration.Comments { public interface IJiraDescriptionSource { diff --git a/src/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs b/src/JiraTimeBot.Core/JiraIntegration/Comments/JiraDescriptionSource.cs similarity index 57% rename from src/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs rename to src/JiraTimeBot.Core/JiraIntegration/Comments/JiraDescriptionSource.cs index b81df7f..be0259f 100644 --- a/src/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs +++ b/src/JiraTimeBot.Core/JiraIntegration/Comments/JiraDescriptionSource.cs @@ -1,17 +1,23 @@ -using JiraTimeBot.Configuration; -using JiraTimeBot.TaskTime.Objects; -using System; +using System; using System.Collections.Generic; using System.Linq; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.TaskTime.Objects; -namespace JiraTimeBot.JiraIntegration.Comments +namespace JiraTimeBot.Core.JiraIntegration.Comments { public class JiraDescriptionSource : IJiraDescriptionSource { private readonly List _dummyComments = new List { - "Написание кода", "написание кода", "программирование", "реализация задачи", "кодинг", "код + тесты", - "кодинг", "написание кода и тестов" + "Написание кода", + "написание кода", + "программирование", + "реализация задачи", + "кодинг", + "код + тесты", + "кодинг", + "написание кода и тестов" }; public string GetDescription(TaskTimeItem taskTimeItem, bool addCommentsToWorklog, Settings settings) diff --git a/src/JiraTimeBot/JiraIntegration/JiraApi.cs b/src/JiraTimeBot.Core/JiraIntegration/JiraApi.cs similarity index 97% rename from src/JiraTimeBot/JiraIntegration/JiraApi.cs rename to src/JiraTimeBot.Core/JiraIntegration/JiraApi.cs index 49fefc3..bea25d8 100644 --- a/src/JiraTimeBot/JiraIntegration/JiraApi.cs +++ b/src/JiraTimeBot.Core/JiraIntegration/JiraApi.cs @@ -3,11 +3,11 @@ using System.Collections.Generic; using System.Linq; using System.Threading; using Atlassian.Jira; -using JiraTimeBot.Configuration; -using JiraTimeBot.JiraIntegration.Comments; -using JiraTimeBot.TaskTime.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.JiraIntegration.Comments; +using JiraTimeBot.Core.TaskTime.Objects; -namespace JiraTimeBot.JiraIntegration +namespace JiraTimeBot.Core.JiraIntegration { public class JiraApi { diff --git a/src/JiraTimeBot/JiraIntegration/JiraCommitEmulator.cs b/src/JiraTimeBot.Core/JiraIntegration/JiraCommitEmulator.cs similarity index 94% rename from src/JiraTimeBot/JiraIntegration/JiraCommitEmulator.cs rename to src/JiraTimeBot.Core/JiraIntegration/JiraCommitEmulator.cs index db31fcf..64033eb 100644 --- a/src/JiraTimeBot/JiraIntegration/JiraCommitEmulator.cs +++ b/src/JiraTimeBot.Core/JiraIntegration/JiraCommitEmulator.cs @@ -3,11 +3,11 @@ using System.Collections.Generic; using System.Linq; using System.Threading; using Atlassian.Jira; -using JiraTimeBot.Configuration; -using JiraTimeBot.Mercurial; -using JiraTimeBot.Mercurial.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.Mercurial; +using JiraTimeBot.Core.Mercurial.Objects; -namespace JiraTimeBot.JiraIntegration +namespace JiraTimeBot.Core.JiraIntegration { public class JiraCommitEmulator : IMercurialLog { diff --git a/src/JiraTimeBot.Core/JiraTimeBot.Core.csproj b/src/JiraTimeBot.Core/JiraTimeBot.Core.csproj new file mode 100644 index 0000000..3d11ebc --- /dev/null +++ b/src/JiraTimeBot.Core/JiraTimeBot.Core.csproj @@ -0,0 +1,18 @@ + + + net472 + + + DEBUG;TRACE + + + + + + + + + + + + \ No newline at end of file diff --git a/src/JiraTimeBot/Job.cs b/src/JiraTimeBot.Core/Job.cs similarity index 89% rename from src/JiraTimeBot/Job.cs rename to src/JiraTimeBot.Core/Job.cs index 8732c65..abe8537 100644 --- a/src/JiraTimeBot/Job.cs +++ b/src/JiraTimeBot.Core/Job.cs @@ -3,22 +3,24 @@ using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; -using JiraTimeBot.Configuration; -using JiraTimeBot.Mercurial; -using JiraTimeBot.Mercurial.Objects; -using JiraTimeBot.TasksProcessors; -using JiraTimeBot.TaskTime; -using JiraTimeBot.TaskTime.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.Mercurial; +using JiraTimeBot.Core.Mercurial.Objects; +using JiraTimeBot.Core.TasksProcessors; +using JiraTimeBot.Core.TaskTime; +using JiraTimeBot.Core.TaskTime.Objects; -namespace JiraTimeBot +namespace JiraTimeBot.Core { - class Job + public class Job { private readonly IAllMercurialProviders _mercurialProviders; private readonly ITaskTimeCalculator _taskTimeDiscoverer; private readonly ILog _log; - public Job(IAllMercurialProviders mercurialProviders, ITaskTimeCalculator taskTimeDiscoverer, ILog log) + public Job(IAllMercurialProviders mercurialProviders, + ITaskTimeCalculator taskTimeDiscoverer, + ILog log) { _mercurialProviders = mercurialProviders; _taskTimeDiscoverer = taskTimeDiscoverer; diff --git a/src/JiraTimeBot/Mercurial/IAllMercurialProviders.cs b/src/JiraTimeBot.Core/Mercurial/IAllMercurialProviders.cs similarity index 66% rename from src/JiraTimeBot/Mercurial/IAllMercurialProviders.cs rename to src/JiraTimeBot.Core/Mercurial/IAllMercurialProviders.cs index 2d8e441..970790e 100644 --- a/src/JiraTimeBot/Mercurial/IAllMercurialProviders.cs +++ b/src/JiraTimeBot.Core/Mercurial/IAllMercurialProviders.cs @@ -1,6 +1,6 @@ -using JiraTimeBot.JiraIntegration; +using JiraTimeBot.Core.JiraIntegration; -namespace JiraTimeBot.Mercurial +namespace JiraTimeBot.Core.Mercurial { public interface IAllMercurialProviders { diff --git a/src/JiraTimeBot/Mercurial/IMercurialLog.cs b/src/JiraTimeBot.Core/Mercurial/IMercurialLog.cs similarity index 70% rename from src/JiraTimeBot/Mercurial/IMercurialLog.cs rename to src/JiraTimeBot.Core/Mercurial/IMercurialLog.cs index 1b91a89..714fb98 100644 --- a/src/JiraTimeBot/Mercurial/IMercurialLog.cs +++ b/src/JiraTimeBot.Core/Mercurial/IMercurialLog.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Threading; -using JiraTimeBot.Configuration; -using JiraTimeBot.Mercurial.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.Mercurial.Objects; -namespace JiraTimeBot.Mercurial +namespace JiraTimeBot.Core.Mercurial { public interface IMercurialLog { diff --git a/src/JiraTimeBot/Mercurial/MercurialLog.cs b/src/JiraTimeBot.Core/Mercurial/MercurialLog.cs similarity index 95% rename from src/JiraTimeBot/Mercurial/MercurialLog.cs rename to src/JiraTimeBot.Core/Mercurial/MercurialLog.cs index 52aa623..7429c78 100644 --- a/src/JiraTimeBot/Mercurial/MercurialLog.cs +++ b/src/JiraTimeBot.Core/Mercurial/MercurialLog.cs @@ -4,12 +4,12 @@ using System.IO; using System.Linq; using System.Text; using System.Threading; -using JiraTimeBot.Configuration; -using JiraTimeBot.Mercurial.Modifiers; -using JiraTimeBot.Mercurial.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.Mercurial.Modifiers; +using JiraTimeBot.Core.Mercurial.Objects; using Mercurial; -namespace JiraTimeBot.Mercurial +namespace JiraTimeBot.Core.Mercurial { public class MercurialLog: IMercurialLog { diff --git a/src/JiraTimeBot/Mercurial/Modifiers/CommitSkipper.cs b/src/JiraTimeBot.Core/Mercurial/Modifiers/CommitSkipper.cs similarity index 93% rename from src/JiraTimeBot/Mercurial/Modifiers/CommitSkipper.cs rename to src/JiraTimeBot.Core/Mercurial/Modifiers/CommitSkipper.cs index e668ab8..849d4f2 100644 --- a/src/JiraTimeBot/Mercurial/Modifiers/CommitSkipper.cs +++ b/src/JiraTimeBot.Core/Mercurial/Modifiers/CommitSkipper.cs @@ -1,6 +1,6 @@ using System; -namespace JiraTimeBot.Mercurial.Modifiers +namespace JiraTimeBot.Core.Mercurial.Modifiers { public class CommitSkipper : ICommitSkipper { diff --git a/src/JiraTimeBot/Mercurial/Modifiers/ICommitSkipper.cs b/src/JiraTimeBot.Core/Mercurial/Modifiers/ICommitSkipper.cs similarity index 69% rename from src/JiraTimeBot/Mercurial/Modifiers/ICommitSkipper.cs rename to src/JiraTimeBot.Core/Mercurial/Modifiers/ICommitSkipper.cs index 7da47ed..6f7b61e 100644 --- a/src/JiraTimeBot/Mercurial/Modifiers/ICommitSkipper.cs +++ b/src/JiraTimeBot.Core/Mercurial/Modifiers/ICommitSkipper.cs @@ -1,4 +1,4 @@ -namespace JiraTimeBot.Mercurial.Modifiers +namespace JiraTimeBot.Core.Mercurial.Modifiers { public interface ICommitSkipper { diff --git a/src/JiraTimeBot/Mercurial/Modifiers/ITechnicalInfoSkipper.cs b/src/JiraTimeBot.Core/Mercurial/Modifiers/ITechnicalInfoSkipper.cs similarity index 69% rename from src/JiraTimeBot/Mercurial/Modifiers/ITechnicalInfoSkipper.cs rename to src/JiraTimeBot.Core/Mercurial/Modifiers/ITechnicalInfoSkipper.cs index 39b76b2..3acbdb4 100644 --- a/src/JiraTimeBot/Mercurial/Modifiers/ITechnicalInfoSkipper.cs +++ b/src/JiraTimeBot.Core/Mercurial/Modifiers/ITechnicalInfoSkipper.cs @@ -1,4 +1,4 @@ -namespace JiraTimeBot.Mercurial.Modifiers +namespace JiraTimeBot.Core.Mercurial.Modifiers { public interface ITechnicalInfoSkipper { diff --git a/src/JiraTimeBot/Mercurial/Modifiers/TechnicalInfoSkipper.cs b/src/JiraTimeBot.Core/Mercurial/Modifiers/TechnicalInfoSkipper.cs similarity index 95% rename from src/JiraTimeBot/Mercurial/Modifiers/TechnicalInfoSkipper.cs rename to src/JiraTimeBot.Core/Mercurial/Modifiers/TechnicalInfoSkipper.cs index d5e0d37..59be9ca 100644 --- a/src/JiraTimeBot/Mercurial/Modifiers/TechnicalInfoSkipper.cs +++ b/src/JiraTimeBot.Core/Mercurial/Modifiers/TechnicalInfoSkipper.cs @@ -1,6 +1,6 @@ using System.Text; -namespace JiraTimeBot.Mercurial.Modifiers +namespace JiraTimeBot.Core.Mercurial.Modifiers { public class TechnicalInfoSkipper : ITechnicalInfoSkipper { diff --git a/src/JiraTimeBot/Mercurial/Objects/MercurialCommitItem.cs b/src/JiraTimeBot.Core/Mercurial/Objects/MercurialCommitItem.cs similarity index 84% rename from src/JiraTimeBot/Mercurial/Objects/MercurialCommitItem.cs rename to src/JiraTimeBot.Core/Mercurial/Objects/MercurialCommitItem.cs index 0ff8f0f..9085ce9 100644 --- a/src/JiraTimeBot/Mercurial/Objects/MercurialCommitItem.cs +++ b/src/JiraTimeBot.Core/Mercurial/Objects/MercurialCommitItem.cs @@ -1,6 +1,6 @@ using System; -namespace JiraTimeBot.Mercurial.Objects +namespace JiraTimeBot.Core.Mercurial.Objects { public class MercurialCommitItem { diff --git a/src/JiraTimeBot/UI/Startup/AutoStartUp.cs b/src/JiraTimeBot.Core/StartUp/AutoStartUp.cs similarity index 94% rename from src/JiraTimeBot/UI/Startup/AutoStartUp.cs rename to src/JiraTimeBot.Core/StartUp/AutoStartUp.cs index f6ec89f..209df9c 100644 --- a/src/JiraTimeBot/UI/Startup/AutoStartUp.cs +++ b/src/JiraTimeBot.Core/StartUp/AutoStartUp.cs @@ -1,7 +1,7 @@ using System.Windows.Forms; using Microsoft.Win32; -namespace JiraTimeBot.UI.Startup +namespace JiraTimeBot.Core.StartUp { public class AutoStartUp { diff --git a/src/JiraTimeBot.Core/TaskTime/ITaskTimeCalculator.cs b/src/JiraTimeBot.Core/TaskTime/ITaskTimeCalculator.cs new file mode 100644 index 0000000..978b90d --- /dev/null +++ b/src/JiraTimeBot.Core/TaskTime/ITaskTimeCalculator.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; +using System.Threading; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.Mercurial.Objects; +using JiraTimeBot.Core.TaskTime.Objects; + +namespace JiraTimeBot.Core.TaskTime +{ + public interface ITaskTimeCalculator + { + List CalculateTaskTime(List commitItems, + Settings settings, + CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/JiraTimeBot/TaskTime/Objects/TaskTimeItem.cs b/src/JiraTimeBot.Core/TaskTime/Objects/TaskTimeItem.cs similarity index 88% rename from src/JiraTimeBot/TaskTime/Objects/TaskTimeItem.cs rename to src/JiraTimeBot.Core/TaskTime/Objects/TaskTimeItem.cs index 8c8a452..258fc65 100644 --- a/src/JiraTimeBot/TaskTime/Objects/TaskTimeItem.cs +++ b/src/JiraTimeBot.Core/TaskTime/Objects/TaskTimeItem.cs @@ -1,6 +1,6 @@ using System; -namespace JiraTimeBot.TaskTime.Objects +namespace JiraTimeBot.Core.TaskTime.Objects { public class TaskTimeItem { diff --git a/src/JiraTimeBot/TaskTime/TaskTimeByCommitsCalculator.cs b/src/JiraTimeBot.Core/TaskTime/TaskTimeByCommitsCalculator.cs similarity index 92% rename from src/JiraTimeBot/TaskTime/TaskTimeByCommitsCalculator.cs rename to src/JiraTimeBot.Core/TaskTime/TaskTimeByCommitsCalculator.cs index 066679d..faa4df2 100644 --- a/src/JiraTimeBot/TaskTime/TaskTimeByCommitsCalculator.cs +++ b/src/JiraTimeBot.Core/TaskTime/TaskTimeByCommitsCalculator.cs @@ -3,11 +3,11 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; -using JiraTimeBot.Configuration; -using JiraTimeBot.Mercurial.Objects; -using JiraTimeBot.TaskTime.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.Mercurial.Objects; +using JiraTimeBot.Core.TaskTime.Objects; -namespace JiraTimeBot.TaskTime +namespace JiraTimeBot.Core.TaskTime { public class TaskTimeByCommitsCalculator: ITaskTimeCalculator { @@ -18,7 +18,9 @@ namespace JiraTimeBot.TaskTime _log = log; } - public List CalculateTaskTime(List commits, Settings settings, CancellationToken cancellationToken = default(CancellationToken)) + public List CalculateTaskTime(List commits, + Settings settings, + CancellationToken cancellationToken = default) { int minutesPerWorkDay = settings.MinuterPerWorkDay; int remainMinutes = settings.MinuterPerWorkDay; @@ -100,7 +102,7 @@ namespace JiraTimeBot.TaskTime if (workTimeItems.First().Time.TotalMinutes > Math.Abs(remainMinutes) && remainMinutes < 0) { - //если переборщили или не достаточно добавили до 8 часов - скореектируем остаток в первой задаче (она самая трудозатратная). + //если переборщили или не достаточно добавили до 8 часов - скорректируем остаток в первой задаче (она самая трудозатратная). workTimeItems.First().Time += TimeSpan.FromMinutes(remainMinutes); } diff --git a/src/JiraTimeBot/TasksProcessors/IAllTasksProcessors.cs b/src/JiraTimeBot.Core/TasksProcessors/IAllTasksProcessors.cs similarity index 78% rename from src/JiraTimeBot/TasksProcessors/IAllTasksProcessors.cs rename to src/JiraTimeBot.Core/TasksProcessors/IAllTasksProcessors.cs index d9315d8..c610388 100644 --- a/src/JiraTimeBot/TasksProcessors/IAllTasksProcessors.cs +++ b/src/JiraTimeBot.Core/TasksProcessors/IAllTasksProcessors.cs @@ -1,4 +1,4 @@ -namespace JiraTimeBot.TasksProcessors +namespace JiraTimeBot.Core.TasksProcessors { public interface IAllTasksProcessors { diff --git a/src/JiraTimeBot/TasksProcessors/ITasksProcessor.cs b/src/JiraTimeBot.Core/TasksProcessors/ITasksProcessor.cs similarity index 64% rename from src/JiraTimeBot/TasksProcessors/ITasksProcessor.cs rename to src/JiraTimeBot.Core/TasksProcessors/ITasksProcessor.cs index 8ff5477..981f3ba 100644 --- a/src/JiraTimeBot/TasksProcessors/ITasksProcessor.cs +++ b/src/JiraTimeBot.Core/TasksProcessors/ITasksProcessor.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using System.Threading; -using JiraTimeBot.Configuration; -using JiraTimeBot.TaskTime.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.TaskTime.Objects; -namespace JiraTimeBot.TasksProcessors +namespace JiraTimeBot.Core.TasksProcessors { - interface ITasksProcessor + public interface ITasksProcessor { void Process(DateTime setForDate, DateTime realDate, List taskTimes, Settings settings, bool dummyMode, CancellationToken cancellationToken = default(CancellationToken)); } diff --git a/src/JiraTimeBot/TasksProcessors/MeetingProcessor.cs b/src/JiraTimeBot.Core/TasksProcessors/MeetingProcessor.cs similarity index 86% rename from src/JiraTimeBot/TasksProcessors/MeetingProcessor.cs rename to src/JiraTimeBot.Core/TasksProcessors/MeetingProcessor.cs index 4d3c0cf..28d203c 100644 --- a/src/JiraTimeBot/TasksProcessors/MeetingProcessor.cs +++ b/src/JiraTimeBot.Core/TasksProcessors/MeetingProcessor.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Linq; using System.Threading; -using JiraTimeBot.Configuration; -using JiraTimeBot.JiraIntegration; -using JiraTimeBot.TaskTime.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.JiraIntegration; +using JiraTimeBot.Core.TaskTime.Objects; -namespace JiraTimeBot.TasksProcessors +namespace JiraTimeBot.Core.TasksProcessors { public class MeetingProcessor : ITasksProcessor { diff --git a/src/JiraTimeBot/TasksProcessors/WorkLogTasksProcessor.cs b/src/JiraTimeBot.Core/TasksProcessors/WorkLogTasksProcessor.cs similarity index 87% rename from src/JiraTimeBot/TasksProcessors/WorkLogTasksProcessor.cs rename to src/JiraTimeBot.Core/TasksProcessors/WorkLogTasksProcessor.cs index 4e7b2ff..788e26b 100644 --- a/src/JiraTimeBot/TasksProcessors/WorkLogTasksProcessor.cs +++ b/src/JiraTimeBot.Core/TasksProcessors/WorkLogTasksProcessor.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.Threading; -using JiraTimeBot.Configuration; -using JiraTimeBot.JiraIntegration; -using JiraTimeBot.TaskTime.Objects; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.JiraIntegration; +using JiraTimeBot.Core.TaskTime.Objects; -namespace JiraTimeBot.TasksProcessors +namespace JiraTimeBot.Core.TasksProcessors { public class WorkLogTasksProcessor : ITasksProcessor { diff --git a/src/JiraTimeBot/Update/GitHubDataObjects.cs b/src/JiraTimeBot.Core/Update/GitHubDataObjects.cs similarity index 99% rename from src/JiraTimeBot/Update/GitHubDataObjects.cs rename to src/JiraTimeBot.Core/Update/GitHubDataObjects.cs index d3171c4..eb48abe 100644 --- a/src/JiraTimeBot/Update/GitHubDataObjects.cs +++ b/src/JiraTimeBot.Core/Update/GitHubDataObjects.cs @@ -1,7 +1,7 @@ using System; using Newtonsoft.Json; -namespace JiraTimeBot.Update +namespace JiraTimeBot.Core.Update.Update { public partial class GitHubReleaseResponse { diff --git a/src/JiraTimeBot.Core/Update/IUpdater.cs b/src/JiraTimeBot.Core/Update/IUpdater.cs new file mode 100644 index 0000000..adc7c21 --- /dev/null +++ b/src/JiraTimeBot.Core/Update/IUpdater.cs @@ -0,0 +1,7 @@ +namespace JiraTimeBot.Core.Update +{ + public interface IUpdater + { + bool UpdateToNewVersion(bool firstTime); + } +} diff --git a/src/JiraTimeBot/Update/Updater.cs b/src/JiraTimeBot.Core/Update/Updater.cs similarity index 97% rename from src/JiraTimeBot/Update/Updater.cs rename to src/JiraTimeBot.Core/Update/Updater.cs index c2c3516..7e1f06a 100644 --- a/src/JiraTimeBot/Update/Updater.cs +++ b/src/JiraTimeBot.Core/Update/Updater.cs @@ -6,7 +6,7 @@ using System.Net; using System.Windows.Forms; using Newtonsoft.Json; -namespace JiraTimeBot.Update +namespace JiraTimeBot.Core.Update.Update { public class Updater : IUpdater { @@ -111,7 +111,7 @@ namespace JiraTimeBot.Update System.IO.File.Move(zipEntryFile.FullName, bkpDir + "\\" + zipEntryFile.Name); } - entry.ExtractToFile(zipEntryPath); + ZipFileExtensions.ExtractToFile(entry, zipEntryPath); } } diff --git a/src/JiraTimeBot.Ui/ViewModels/ApplicationViewModel.cs b/src/JiraTimeBot.Ui/ViewModels/ApplicationViewModel.cs index f9d4089..450cb92 100644 --- a/src/JiraTimeBot.Ui/ViewModels/ApplicationViewModel.cs +++ b/src/JiraTimeBot.Ui/ViewModels/ApplicationViewModel.cs @@ -1,12 +1,9 @@ using JiraTimeBot.Ui.Models; -using System; namespace JiraTimeBot.Ui.ViewModels { public class ApplicationViewModel : ViewModelBase { - private readonly Func _appNavigator; - private ViewModelBase _currentViewModel; public ApplicationViewModel(ApplicationModel model) : base(model) diff --git a/src/JiraTimeBot.sln b/src/JiraTimeBot.sln index 721a7df..ec42c7d 100644 --- a/src/JiraTimeBot.sln +++ b/src/JiraTimeBot.sln @@ -1,12 +1,14 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.421 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28729.10 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiraTimeBot", "JiraTimeBot\JiraTimeBot.csproj", "{F3B89316-C38C-4CE6-9D88-0B1373CFBA1A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiraTimeBot.Ui", "JiraTimeBot.Ui\JiraTimeBot.Ui.csproj", "{C3B7A833-B919-4299-A318-74B96544437E}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiraTimeBot.Core", "JiraTimeBot.Core\JiraTimeBot.Core.csproj", "{35D8A11F-05F8-408D-A37D-0EECD96FA67A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -21,6 +23,10 @@ Global {C3B7A833-B919-4299-A318-74B96544437E}.Debug|Any CPU.Build.0 = Debug|Any CPU {C3B7A833-B919-4299-A318-74B96544437E}.Release|Any CPU.ActiveCfg = Release|Any CPU {C3B7A833-B919-4299-A318-74B96544437E}.Release|Any CPU.Build.0 = Release|Any CPU + {35D8A11F-05F8-408D-A37D-0EECD96FA67A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {35D8A11F-05F8-408D-A37D-0EECD96FA67A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {35D8A11F-05F8-408D-A37D-0EECD96FA67A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {35D8A11F-05F8-408D-A37D-0EECD96FA67A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/JiraTimeBot/App.config b/src/JiraTimeBot/App.config index 4abcc95..d4f3137 100644 --- a/src/JiraTimeBot/App.config +++ b/src/JiraTimeBot/App.config @@ -1,21 +1,21 @@ - + - + - - + + - - + + - - + + diff --git a/src/JiraTimeBot/DI/ContainerBuilder.cs b/src/JiraTimeBot/DI/ContainerBuilder.cs index 2c1e6e5..0012f75 100644 --- a/src/JiraTimeBot/DI/ContainerBuilder.cs +++ b/src/JiraTimeBot/DI/ContainerBuilder.cs @@ -1,17 +1,19 @@ using Autofac; using Autofac.Extras.AggregateService; -using JiraTimeBot.JiraIntegration; -using JiraTimeBot.JiraIntegration.Comments; -using JiraTimeBot.Mercurial; -using JiraTimeBot.Mercurial.Modifiers; -using JiraTimeBot.TasksProcessors; -using JiraTimeBot.TaskTime; using JiraTimeBot.UI.Tray; using System; using System.Windows.Forms; +using JiraTimeBot.Core; +using JiraTimeBot.Core.JiraIntegration; +using JiraTimeBot.Core.JiraIntegration.Comments; +using JiraTimeBot.Core.Mercurial; +using JiraTimeBot.Core.Mercurial.Modifiers; +using JiraTimeBot.Core.StartUp; +using JiraTimeBot.Core.TasksProcessors; +using JiraTimeBot.Core.TaskTime; +using JiraTimeBot.Core.Update; +using JiraTimeBot.Core.Update.Update; using JiraTimeBot.UI; -using JiraTimeBot.UI.Startup; -using JiraTimeBot.Update; namespace JiraTimeBot.DI { diff --git a/src/JiraTimeBot/JiraTimeBot.csproj b/src/JiraTimeBot/JiraTimeBot.csproj index e1e7eb1..6905860 100644 --- a/src/JiraTimeBot/JiraTimeBot.csproj +++ b/src/JiraTimeBot/JiraTimeBot.csproj @@ -8,9 +8,10 @@ WinExe JiraTimeBot JiraTimeBot - v4.6.1 + v4.7.2 512 true + AnyCPU @@ -79,51 +80,25 @@ - - - - - - - - - - - - Form frmMain.cs - - - - - - - - - - Form frmSettings.cs - - - - frmMain.cs @@ -157,5 +132,12 @@ + + + {35D8A11F-05F8-408D-A37D-0EECD96FA67A} + JiraTimeBot.Core + + + \ No newline at end of file diff --git a/src/JiraTimeBot/Logger.cs b/src/JiraTimeBot/Logger.cs index 1585fd3..bc6b6d7 100644 --- a/src/JiraTimeBot/Logger.cs +++ b/src/JiraTimeBot/Logger.cs @@ -1,5 +1,6 @@ using System; using System.ComponentModel; +using JiraTimeBot.Core; namespace JiraTimeBot { @@ -38,12 +39,4 @@ namespace JiraTimeBot AppendText(message); } } - - public interface ILog - { - void Info([Localizable(false)] string message); - void Trace([Localizable(false)] string message); - void Warn([Localizable(false)] string message); - void Error([Localizable(false)] string message); - } } diff --git a/src/JiraTimeBot/Properties/Resources.Designer.cs b/src/JiraTimeBot/Properties/Resources.Designer.cs index d6ce163..160506f 100644 --- a/src/JiraTimeBot/Properties/Resources.Designer.cs +++ b/src/JiraTimeBot/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace JiraTimeBot.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/src/JiraTimeBot/Properties/Settings.Designer.cs b/src/JiraTimeBot/Properties/Settings.Designer.cs index e990fc5..57cb3d2 100644 --- a/src/JiraTimeBot/Properties/Settings.Designer.cs +++ b/src/JiraTimeBot/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace JiraTimeBot.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/src/JiraTimeBot/TaskTime/ITaskTimeCalculator.cs b/src/JiraTimeBot/TaskTime/ITaskTimeCalculator.cs deleted file mode 100644 index a17b6aa..0000000 --- a/src/JiraTimeBot/TaskTime/ITaskTimeCalculator.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections.Generic; -using System.Threading; -using JiraTimeBot.Configuration; -using JiraTimeBot.Mercurial.Objects; -using JiraTimeBot.TaskTime.Objects; - -namespace JiraTimeBot.TaskTime -{ - public interface ITaskTimeCalculator - { - List CalculateTaskTime(List commitItems, Settings settings, CancellationToken cancellationToken = default(CancellationToken)); - } -} \ No newline at end of file diff --git a/src/JiraTimeBot/UI/Tray/SingleInstance.cs b/src/JiraTimeBot/UI/Tray/SingleInstance.cs index ac6553b..4b192a4 100644 --- a/src/JiraTimeBot/UI/Tray/SingleInstance.cs +++ b/src/JiraTimeBot/UI/Tray/SingleInstance.cs @@ -28,7 +28,7 @@ namespace JiraTimeBot.UI.Tray [DllImport("user32")] public static extern int RegisterWindowMessage(string message); - + [DllImport("user32")] public static extern bool PostMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam); } diff --git a/src/JiraTimeBot/UI/frmMain.cs b/src/JiraTimeBot/UI/frmMain.cs index c664a51..248b28b 100644 --- a/src/JiraTimeBot/UI/frmMain.cs +++ b/src/JiraTimeBot/UI/frmMain.cs @@ -1,9 +1,6 @@ using Autofac; -using JiraTimeBot.Configuration; using JiraTimeBot.DI; -using JiraTimeBot.TasksProcessors; using JiraTimeBot.UI.Tray; -using JiraTimeBot.Update; using System; using System.Collections.Generic; using System.IO; @@ -11,7 +8,12 @@ using System.IO.Compression; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; -using JiraTimeBot.UI.Startup; +using JiraTimeBot.Core; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.StartUp; +using JiraTimeBot.Core.TasksProcessors; +using JiraTimeBot.Core.Update; +using JiraTimeBot.Core.Update.Update; // This is the code for your desktop app. // Press Ctrl+F5 (or go to Debug > Start Without Debugging) to run your app. diff --git a/src/JiraTimeBot/UI/frmSettings.cs b/src/JiraTimeBot/UI/frmSettings.cs index ba8e90f..0e99247 100644 --- a/src/JiraTimeBot/UI/frmSettings.cs +++ b/src/JiraTimeBot/UI/frmSettings.cs @@ -1,7 +1,7 @@ using System; using System.Windows.Forms; -using JiraTimeBot.Configuration; -using JiraTimeBot.UI.Startup; +using JiraTimeBot.Core.Configuration; +using JiraTimeBot.Core.StartUp; namespace JiraTimeBot.UI { diff --git a/src/JiraTimeBot/Update/IUpdater.cs b/src/JiraTimeBot/Update/IUpdater.cs deleted file mode 100644 index 014e8fa..0000000 --- a/src/JiraTimeBot/Update/IUpdater.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; - -namespace JiraTimeBot.Update -{ - internal interface IUpdater - { - bool UpdateToNewVersion(bool firstTime); - } -}