Исправление алгоритма удаления ворклогов

This commit is contained in:
Danil Kislov
2019-03-19 20:35:11 +03:00
parent 2f6d522636
commit 99f75e2892
3 changed files with 50 additions and 42 deletions
+1 -1
View File
@@ -1 +1 @@
1.0.21 1.0.22
+12 -4
View File
@@ -92,15 +92,24 @@ namespace JiraTimeBot.JiraIntegration
var hasTodayWorklog = false; var hasTodayWorklog = false;
var workLogs = issue.GetWorklogsAsync().Result; var workLogs = issue.GetWorklogsAsync().Result;
foreach (var workLog in workLogs) var userWorklogs = workLogs.Where(w =>
w.CreateDate.GetValueOrDefault().Date == date && w.Author.Equals(settings.JiraUserName,
StringComparison.InvariantCultureIgnoreCase)).ToList();
foreach (var workLog in userWorklogs)
{ {
var timeSpent = TimeSpan.FromSeconds(workLog.TimeSpentInSeconds); var timeSpent = TimeSpan.FromSeconds(workLog.TimeSpentInSeconds);
if (workLog.CreateDate.GetValueOrDefault().Date == date && workLog.Author.Equals(settings.JiraUserName, StringComparison.InvariantCultureIgnoreCase))
{
var timeDiff = Math.Abs((timeSpent - taskTimeItem.Time).TotalMinutes); var timeDiff = Math.Abs((timeSpent - taskTimeItem.Time).TotalMinutes);
if (timeDiff > 1 || userWorklogs.Count > 1)
{
if (timeDiff > 1) if (timeDiff > 1)
{ {
_log.Trace($"Время отличается на {timeDiff} минут, удаляю worklog: {taskTimeItem.Branch} {workLog.Author} {workLog.CreateDate}: {workLog.TimeSpent}"); _log.Trace($"Время отличается на {timeDiff} минут, удаляю worklog: {taskTimeItem.Branch} {workLog.Author} {workLog.CreateDate}: {workLog.TimeSpent}");
}
else
{
_log.Trace($"Найдено более одного ворклога на задачу, удаляю worklog: {taskTimeItem.Branch} {workLog.Author} {workLog.CreateDate}: {workLog.TimeSpent}");
}
if (!dummy) if (!dummy)
{ {
issue.DeleteWorklogAsync(workLog); issue.DeleteWorklogAsync(workLog);
@@ -113,7 +122,6 @@ namespace JiraTimeBot.JiraIntegration
hasTodayWorklog = true; hasTodayWorklog = true;
} }
} }
}
if (!hasTodayWorklog) if (!hasTodayWorklog)
{ {
+3 -3
View File
@@ -26,6 +26,6 @@ using System.Runtime.InteropServices;
// //
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.21")] [assembly: AssemblyVersion("1.0.22")]
[assembly: AssemblyFileVersion("1.0.21")] [assembly: AssemblyFileVersion("1.0.22")]
[assembly: AssemblyInformationalVersion("1.0.21")] [assembly: AssemblyInformationalVersion("1.0.22")]