Мухи в одну сборку, котлеты в другую

This commit is contained in:
Anton Volkov
2019-04-08 21:49:57 +03:00
parent db085bab4b
commit bb8b6723ec
41 changed files with 176 additions and 153 deletions
@@ -3,9 +3,10 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;
using JiraTimeBot.Core.Encryption;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace JiraTimeBot.Configuration namespace JiraTimeBot.Core.Configuration
{ {
public class Settings public class Settings
{ {
@@ -2,7 +2,7 @@
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text; using System.Text;
namespace JiraTimeBot.Configuration namespace JiraTimeBot.Core.Encryption
{ {
public class PasswordEncryptionClass public class PasswordEncryptionClass
{ {
+12
View File
@@ -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);
}
}
@@ -1,7 +1,7 @@
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.TaskTime.Objects; using JiraTimeBot.Core.TaskTime.Objects;
namespace JiraTimeBot.JiraIntegration.Comments namespace JiraTimeBot.Core.JiraIntegration.Comments
{ {
public interface IJiraDescriptionSource public interface IJiraDescriptionSource
{ {
@@ -1,17 +1,23 @@
using JiraTimeBot.Configuration; using System;
using JiraTimeBot.TaskTime.Objects;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; 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 public class JiraDescriptionSource : IJiraDescriptionSource
{ {
private readonly List<string> _dummyComments = new List<string> private readonly List<string> _dummyComments = new List<string>
{ {
"Написание кода", "написание кода", "программирование", "реализация задачи", "кодинг", "код + тесты", "Написание кода",
"кодинг", "написание кода и тестов" "написание кода",
"программирование",
"реализация задачи",
"кодинг",
"код + тесты",
"кодинг",
"написание кода и тестов"
}; };
public string GetDescription(TaskTimeItem taskTimeItem, bool addCommentsToWorklog, Settings settings) public string GetDescription(TaskTimeItem taskTimeItem, bool addCommentsToWorklog, Settings settings)
@@ -3,11 +3,11 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using Atlassian.Jira; using Atlassian.Jira;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.JiraIntegration.Comments; using JiraTimeBot.Core.JiraIntegration.Comments;
using JiraTimeBot.TaskTime.Objects; using JiraTimeBot.Core.TaskTime.Objects;
namespace JiraTimeBot.JiraIntegration namespace JiraTimeBot.Core.JiraIntegration
{ {
public class JiraApi public class JiraApi
{ {
@@ -3,11 +3,11 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using Atlassian.Jira; using Atlassian.Jira;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.Mercurial; using JiraTimeBot.Core.Mercurial;
using JiraTimeBot.Mercurial.Objects; using JiraTimeBot.Core.Mercurial.Objects;
namespace JiraTimeBot.JiraIntegration namespace JiraTimeBot.Core.JiraIntegration
{ {
public class JiraCommitEmulator : IMercurialLog public class JiraCommitEmulator : IMercurialLog
{ {
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Atlassian.SDK" Version="10.4.0" />
<PackageReference Include="Mercurial.Net" Version="1.1.1.607" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
</ItemGroup>
<ItemGroup>
<Reference Include="System.IO.Compression" />
<Reference Include="System.Security" />
<Reference Include="System.Windows.Forms" />
</ItemGroup>
</Project>
@@ -3,22 +3,24 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.Mercurial; using JiraTimeBot.Core.Mercurial;
using JiraTimeBot.Mercurial.Objects; using JiraTimeBot.Core.Mercurial.Objects;
using JiraTimeBot.TasksProcessors; using JiraTimeBot.Core.TasksProcessors;
using JiraTimeBot.TaskTime; using JiraTimeBot.Core.TaskTime;
using JiraTimeBot.TaskTime.Objects; using JiraTimeBot.Core.TaskTime.Objects;
namespace JiraTimeBot namespace JiraTimeBot.Core
{ {
class Job public class Job
{ {
private readonly IAllMercurialProviders _mercurialProviders; private readonly IAllMercurialProviders _mercurialProviders;
private readonly ITaskTimeCalculator _taskTimeDiscoverer; private readonly ITaskTimeCalculator _taskTimeDiscoverer;
private readonly ILog _log; private readonly ILog _log;
public Job(IAllMercurialProviders mercurialProviders, ITaskTimeCalculator taskTimeDiscoverer, ILog log) public Job(IAllMercurialProviders mercurialProviders,
ITaskTimeCalculator taskTimeDiscoverer,
ILog log)
{ {
_mercurialProviders = mercurialProviders; _mercurialProviders = mercurialProviders;
_taskTimeDiscoverer = taskTimeDiscoverer; _taskTimeDiscoverer = taskTimeDiscoverer;
@@ -1,6 +1,6 @@
using JiraTimeBot.JiraIntegration; using JiraTimeBot.Core.JiraIntegration;
namespace JiraTimeBot.Mercurial namespace JiraTimeBot.Core.Mercurial
{ {
public interface IAllMercurialProviders public interface IAllMercurialProviders
{ {
@@ -1,10 +1,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading; using System.Threading;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.Mercurial.Objects; using JiraTimeBot.Core.Mercurial.Objects;
namespace JiraTimeBot.Mercurial namespace JiraTimeBot.Core.Mercurial
{ {
public interface IMercurialLog public interface IMercurialLog
{ {
@@ -4,12 +4,12 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.Mercurial.Modifiers; using JiraTimeBot.Core.Mercurial.Modifiers;
using JiraTimeBot.Mercurial.Objects; using JiraTimeBot.Core.Mercurial.Objects;
using Mercurial; using Mercurial;
namespace JiraTimeBot.Mercurial namespace JiraTimeBot.Core.Mercurial
{ {
public class MercurialLog: IMercurialLog public class MercurialLog: IMercurialLog
{ {
@@ -1,6 +1,6 @@
using System; using System;
namespace JiraTimeBot.Mercurial.Modifiers namespace JiraTimeBot.Core.Mercurial.Modifiers
{ {
public class CommitSkipper : ICommitSkipper public class CommitSkipper : ICommitSkipper
{ {
@@ -1,4 +1,4 @@
namespace JiraTimeBot.Mercurial.Modifiers namespace JiraTimeBot.Core.Mercurial.Modifiers
{ {
public interface ICommitSkipper public interface ICommitSkipper
{ {
@@ -1,4 +1,4 @@
namespace JiraTimeBot.Mercurial.Modifiers namespace JiraTimeBot.Core.Mercurial.Modifiers
{ {
public interface ITechnicalInfoSkipper public interface ITechnicalInfoSkipper
{ {
@@ -1,6 +1,6 @@
using System.Text; using System.Text;
namespace JiraTimeBot.Mercurial.Modifiers namespace JiraTimeBot.Core.Mercurial.Modifiers
{ {
public class TechnicalInfoSkipper : ITechnicalInfoSkipper public class TechnicalInfoSkipper : ITechnicalInfoSkipper
{ {
@@ -1,6 +1,6 @@
using System; using System;
namespace JiraTimeBot.Mercurial.Objects namespace JiraTimeBot.Core.Mercurial.Objects
{ {
public class MercurialCommitItem public class MercurialCommitItem
{ {
@@ -1,7 +1,7 @@
using System.Windows.Forms; using System.Windows.Forms;
using Microsoft.Win32; using Microsoft.Win32;
namespace JiraTimeBot.UI.Startup namespace JiraTimeBot.Core.StartUp
{ {
public class AutoStartUp public class AutoStartUp
{ {
@@ -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<TaskTimeItem> CalculateTaskTime(List<MercurialCommitItem> commitItems,
Settings settings,
CancellationToken cancellationToken = default);
}
}
@@ -1,6 +1,6 @@
using System; using System;
namespace JiraTimeBot.TaskTime.Objects namespace JiraTimeBot.Core.TaskTime.Objects
{ {
public class TaskTimeItem public class TaskTimeItem
{ {
@@ -3,11 +3,11 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.Mercurial.Objects; using JiraTimeBot.Core.Mercurial.Objects;
using JiraTimeBot.TaskTime.Objects; using JiraTimeBot.Core.TaskTime.Objects;
namespace JiraTimeBot.TaskTime namespace JiraTimeBot.Core.TaskTime
{ {
public class TaskTimeByCommitsCalculator: ITaskTimeCalculator public class TaskTimeByCommitsCalculator: ITaskTimeCalculator
{ {
@@ -18,7 +18,9 @@ namespace JiraTimeBot.TaskTime
_log = log; _log = log;
} }
public List<TaskTimeItem> CalculateTaskTime(List<MercurialCommitItem> commits, Settings settings, CancellationToken cancellationToken = default(CancellationToken)) public List<TaskTimeItem> CalculateTaskTime(List<MercurialCommitItem> commits,
Settings settings,
CancellationToken cancellationToken = default)
{ {
int minutesPerWorkDay = settings.MinuterPerWorkDay; int minutesPerWorkDay = settings.MinuterPerWorkDay;
int remainMinutes = settings.MinuterPerWorkDay; int remainMinutes = settings.MinuterPerWorkDay;
@@ -100,7 +102,7 @@ namespace JiraTimeBot.TaskTime
if (workTimeItems.First().Time.TotalMinutes > Math.Abs(remainMinutes) && remainMinutes < 0) if (workTimeItems.First().Time.TotalMinutes > Math.Abs(remainMinutes) && remainMinutes < 0)
{ {
//если переборщили или не достаточно добавили до 8 часов - скореектируем остаток в первой задаче (она самая трудозатратная). //если переборщили или не достаточно добавили до 8 часов - скорректируем остаток в первой задаче (она самая трудозатратная).
workTimeItems.First().Time += TimeSpan.FromMinutes(remainMinutes); workTimeItems.First().Time += TimeSpan.FromMinutes(remainMinutes);
} }
@@ -1,4 +1,4 @@
namespace JiraTimeBot.TasksProcessors namespace JiraTimeBot.Core.TasksProcessors
{ {
public interface IAllTasksProcessors public interface IAllTasksProcessors
{ {
@@ -1,12 +1,12 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading; using System.Threading;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.TaskTime.Objects; using JiraTimeBot.Core.TaskTime.Objects;
namespace JiraTimeBot.TasksProcessors namespace JiraTimeBot.Core.TasksProcessors
{ {
interface ITasksProcessor public interface ITasksProcessor
{ {
void Process(DateTime setForDate, DateTime realDate, List<TaskTimeItem> taskTimes, Settings settings, bool dummyMode, CancellationToken cancellationToken = default(CancellationToken)); void Process(DateTime setForDate, DateTime realDate, List<TaskTimeItem> taskTimes, Settings settings, bool dummyMode, CancellationToken cancellationToken = default(CancellationToken));
} }
@@ -2,11 +2,11 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.JiraIntegration; using JiraTimeBot.Core.JiraIntegration;
using JiraTimeBot.TaskTime.Objects; using JiraTimeBot.Core.TaskTime.Objects;
namespace JiraTimeBot.TasksProcessors namespace JiraTimeBot.Core.TasksProcessors
{ {
public class MeetingProcessor : ITasksProcessor public class MeetingProcessor : ITasksProcessor
{ {
@@ -1,11 +1,11 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading; using System.Threading;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.JiraIntegration; using JiraTimeBot.Core.JiraIntegration;
using JiraTimeBot.TaskTime.Objects; using JiraTimeBot.Core.TaskTime.Objects;
namespace JiraTimeBot.TasksProcessors namespace JiraTimeBot.Core.TasksProcessors
{ {
public class WorkLogTasksProcessor : ITasksProcessor public class WorkLogTasksProcessor : ITasksProcessor
{ {
@@ -1,7 +1,7 @@
using System; using System;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace JiraTimeBot.Update namespace JiraTimeBot.Core.Update.Update
{ {
public partial class GitHubReleaseResponse public partial class GitHubReleaseResponse
{ {
+7
View File
@@ -0,0 +1,7 @@
namespace JiraTimeBot.Core.Update
{
public interface IUpdater
{
bool UpdateToNewVersion(bool firstTime);
}
}
@@ -6,7 +6,7 @@ using System.Net;
using System.Windows.Forms; using System.Windows.Forms;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace JiraTimeBot.Update namespace JiraTimeBot.Core.Update.Update
{ {
public class Updater : IUpdater public class Updater : IUpdater
{ {
@@ -111,7 +111,7 @@ namespace JiraTimeBot.Update
System.IO.File.Move(zipEntryFile.FullName, bkpDir + "\\" + zipEntryFile.Name); System.IO.File.Move(zipEntryFile.FullName, bkpDir + "\\" + zipEntryFile.Name);
} }
entry.ExtractToFile(zipEntryPath); ZipFileExtensions.ExtractToFile(entry, zipEntryPath);
} }
} }
@@ -1,12 +1,9 @@
using JiraTimeBot.Ui.Models; using JiraTimeBot.Ui.Models;
using System;
namespace JiraTimeBot.Ui.ViewModels namespace JiraTimeBot.Ui.ViewModels
{ {
public class ApplicationViewModel : ViewModelBase<ApplicationModel> public class ApplicationViewModel : ViewModelBase<ApplicationModel>
{ {
private readonly Func<IApplicationNavigator> _appNavigator;
private ViewModelBase _currentViewModel; private ViewModelBase _currentViewModel;
public ApplicationViewModel(ApplicationModel model) : base(model) public ApplicationViewModel(ApplicationModel model) : base(model)
+8 -2
View File
@@ -1,12 +1,14 @@
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15 # Visual Studio Version 16
VisualStudioVersion = 15.0.28307.421 VisualStudioVersion = 16.0.28729.10
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiraTimeBot", "JiraTimeBot\JiraTimeBot.csproj", "{F3B89316-C38C-4CE6-9D88-0B1373CFBA1A}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiraTimeBot", "JiraTimeBot\JiraTimeBot.csproj", "{F3B89316-C38C-4CE6-9D88-0B1373CFBA1A}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiraTimeBot.Ui", "JiraTimeBot.Ui\JiraTimeBot.Ui.csproj", "{C3B7A833-B919-4299-A318-74B96544437E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiraTimeBot.Ui", "JiraTimeBot.Ui\JiraTimeBot.Ui.csproj", "{C3B7A833-B919-4299-A318-74B96544437E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiraTimeBot.Core", "JiraTimeBot.Core\JiraTimeBot.Core.csproj", "{35D8A11F-05F8-408D-A37D-0EECD96FA67A}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU 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}.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.ActiveCfg = Release|Any CPU
{C3B7A833-B919-4299-A318-74B96544437E}.Release|Any CPU.Build.0 = 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 EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
+8 -8
View File
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
</startup> </startup>
<runtime> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" /> <assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-106.6.9.0" newVersion="106.6.9.0" /> <bindingRedirect oldVersion="0.0.0.0-106.6.9.0" newVersion="106.6.9.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" /> <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.9.1.0" newVersion="4.9.1.0" /> <bindingRedirect oldVersion="0.0.0.0-4.9.1.0" newVersion="4.9.1.0"/>
</dependentAssembly> </dependentAssembly>
</assemblyBinding> </assemblyBinding>
</runtime> </runtime>
+10 -8
View File
@@ -1,17 +1,19 @@
using Autofac; using Autofac;
using Autofac.Extras.AggregateService; 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 JiraTimeBot.UI.Tray;
using System; using System;
using System.Windows.Forms; 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;
using JiraTimeBot.UI.Startup;
using JiraTimeBot.Update;
namespace JiraTimeBot.DI namespace JiraTimeBot.DI
{ {
+9 -27
View File
@@ -8,9 +8,10 @@
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<RootNamespace>JiraTimeBot</RootNamespace> <RootNamespace>JiraTimeBot</RootNamespace>
<AssemblyName>JiraTimeBot</AssemblyName> <AssemblyName>JiraTimeBot</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
@@ -79,51 +80,25 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="DI\ContainerBuilder.cs" /> <Compile Include="DI\ContainerBuilder.cs" />
<Compile Include="JiraIntegration\Comments\IJiraDescriptionSource.cs" />
<Compile Include="JiraIntegration\Comments\JiraDescriptionSource.cs" />
<Compile Include="Job.cs" />
<Compile Include="Logger.cs" /> <Compile Include="Logger.cs" />
<Compile Include="Configuration\Settings.cs" />
<Compile Include="JiraIntegration\JiraCommitEmulator.cs" />
<Compile Include="Mercurial\IAllMercurialProviders.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="Mercurial\Modifiers\TechnicalInfoSkipper.cs" />
<Compile Include="TasksProcessors\IAllTasksProcessors.cs" />
<Compile Include="UI\frmMain.cs"> <Compile Include="UI\frmMain.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="UI\frmMain.Designer.cs"> <Compile Include="UI\frmMain.Designer.cs">
<DependentUpon>frmMain.cs</DependentUpon> <DependentUpon>frmMain.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="JiraIntegration\JiraApi.cs" />
<Compile Include="Mercurial\Objects\MercurialCommitItem.cs" />
<Compile Include="Mercurial\MercurialLog.cs" />
<Compile Include="Configuration\PasswordEncryptionClass.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="TasksProcessors\ITasksProcessor.cs" />
<Compile Include="TasksProcessors\MeetingProcessor.cs" />
<Compile Include="TasksProcessors\WorkLogTasksProcessor.cs" />
<Compile Include="TaskTime\ITaskTimeCalculator.cs" />
<Compile Include="TaskTime\TaskTimeByCommitsCalculator.cs" />
<Compile Include="TaskTime\Objects\TaskTimeItem.cs" />
<Compile Include="UI\frmSettings.cs"> <Compile Include="UI\frmSettings.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="UI\frmSettings.Designer.cs"> <Compile Include="UI\frmSettings.Designer.cs">
<DependentUpon>frmSettings.cs</DependentUpon> <DependentUpon>frmSettings.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="UI\Startup\AutoStartUp.cs" />
<Compile Include="UI\Tray\SingleInstance.cs" /> <Compile Include="UI\Tray\SingleInstance.cs" />
<Compile Include="UI\Tray\ITrayMenu.cs" /> <Compile Include="UI\Tray\ITrayMenu.cs" />
<Compile Include="UI\Tray\RestoreFromTray.cs" /> <Compile Include="UI\Tray\RestoreFromTray.cs" />
<Compile Include="UI\Tray\TrayMenu.cs" /> <Compile Include="UI\Tray\TrayMenu.cs" />
<Compile Include="Update\GitHubDataObjects.cs" />
<Compile Include="Update\IUpdater.cs" />
<Compile Include="Update\Updater.cs" />
<EmbeddedResource Include="UI\frmMain.resx"> <EmbeddedResource Include="UI\frmMain.resx">
<DependentUpon>frmMain.cs</DependentUpon> <DependentUpon>frmMain.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@@ -157,5 +132,12 @@
<ItemGroup> <ItemGroup>
<Content Include="app.ico" /> <Content Include="app.ico" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\JiraTimeBot.Core\JiraTimeBot.Core.csproj">
<Project>{35D8A11F-05F8-408D-A37D-0EECD96FA67A}</Project>
<Name>JiraTimeBot.Core</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>
+1 -8
View File
@@ -1,5 +1,6 @@
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using JiraTimeBot.Core;
namespace JiraTimeBot namespace JiraTimeBot
{ {
@@ -38,12 +39,4 @@ namespace JiraTimeBot
AppendText(message); 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);
}
} }
+1 -1
View File
@@ -19,7 +19,7 @@ namespace JiraTimeBot.Properties {
// class via a tool like ResGen or Visual Studio. // class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen // To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project. // 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.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources { internal class Resources {
+1 -1
View File
@@ -12,7 +12,7 @@ namespace JiraTimeBot.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [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 { internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -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<TaskTimeItem> CalculateTaskTime(List<MercurialCommitItem> commitItems, Settings settings, CancellationToken cancellationToken = default(CancellationToken));
}
}
+1 -1
View File
@@ -28,7 +28,7 @@ namespace JiraTimeBot.UI.Tray
[DllImport("user32")] [DllImport("user32")]
public static extern int RegisterWindowMessage(string message); public static extern int RegisterWindowMessage(string message);
[DllImport("user32")] [DllImport("user32")]
public static extern bool PostMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam); public static extern bool PostMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam);
} }
+6 -4
View File
@@ -1,9 +1,6 @@
using Autofac; using Autofac;
using JiraTimeBot.Configuration;
using JiraTimeBot.DI; using JiraTimeBot.DI;
using JiraTimeBot.TasksProcessors;
using JiraTimeBot.UI.Tray; using JiraTimeBot.UI.Tray;
using JiraTimeBot.Update;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@@ -11,7 +8,12 @@ using System.IO.Compression;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; 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. // This is the code for your desktop app.
// Press Ctrl+F5 (or go to Debug > Start Without Debugging) to run your app. // Press Ctrl+F5 (or go to Debug > Start Without Debugging) to run your app.
+2 -2
View File
@@ -1,7 +1,7 @@
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
using JiraTimeBot.Configuration; using JiraTimeBot.Core.Configuration;
using JiraTimeBot.UI.Startup; using JiraTimeBot.Core.StartUp;
namespace JiraTimeBot.UI namespace JiraTimeBot.UI
{ {
-9
View File
@@ -1,9 +0,0 @@
using System;
namespace JiraTimeBot.Update
{
internal interface IUpdater
{
bool UpdateToNewVersion(bool firstTime);
}
}