Moved logic around
This commit is contained in:
@ -8,6 +8,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
@ -197,22 +198,31 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
}
|
||||
}
|
||||
|
||||
private static void ParseWorkItemsAsync(FileConnectorConfiguration fileConnectorConfiguration, string[] alternateTargetFolders)
|
||||
private static void ParseWorkItemsAsync(FileConnectorConfiguration fileConnectorConfiguration, Calendar calendar, string[] alternateTargetFolders)
|
||||
{
|
||||
if (!Directory.Exists(fileConnectorConfiguration.TargetFileLocation))
|
||||
_ = Directory.CreateDirectory(fileConnectorConfiguration.TargetFileLocation);
|
||||
DateTime dateTime = DateTime.Now;
|
||||
string weekOfYear = calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00");
|
||||
string weekDirectory = Path.Combine(fileConnectorConfiguration.TargetFileLocation, $"{dateTime:yyyy}_Week_{weekOfYear}");
|
||||
string[] files = Directory.GetFiles(fileConnectorConfiguration.TargetFileLocation, fileConnectorConfiguration.SourceFileFilter, SearchOption.TopDirectoryOnly);
|
||||
if (!Directory.Exists(weekDirectory))
|
||||
{
|
||||
_ = Directory.CreateDirectory(weekDirectory);
|
||||
foreach (string file in files)
|
||||
File.Copy(file, Path.Combine(weekDirectory, Path.GetFileName(file)));
|
||||
}
|
||||
ReadOnlyCollection<Value> collection = GetWorkItems(files);
|
||||
ReadOnlyCollection<WorkItem> workItems = GetWorkItems(collection);
|
||||
if (workItems.Count > 0)
|
||||
WriteCollectionJson(fileConnectorConfiguration, alternateTargetFolders, workItems);
|
||||
}
|
||||
|
||||
private static void ParseWorkItemsAsync(FileConnectorConfiguration fileConnectorConfiguration)
|
||||
private static void ParseWorkItemsAsync(FileConnectorConfiguration fileConnectorConfiguration, Calendar calendar)
|
||||
{
|
||||
string[] alternateTargetFolders = fileConnectorConfiguration.AlternateTargetFolder.Split('|');
|
||||
if (alternateTargetFolders.Length > 0)
|
||||
ParseWorkItemsAsync(fileConnectorConfiguration, alternateTargetFolders);
|
||||
ParseWorkItemsAsync(fileConnectorConfiguration, calendar, alternateTargetFolders);
|
||||
}
|
||||
|
||||
private void Callback(object state)
|
||||
@ -220,7 +230,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
try
|
||||
{
|
||||
if (_IsEAFHosted)
|
||||
ParseWorkItemsAsync(_FileConnectorConfiguration);
|
||||
ParseWorkItemsAsync(_FileConnectorConfiguration, _Calendar);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
|
36
Adaptation/FileHandlers/json/WorkItems/PollValues.cs
Normal file
36
Adaptation/FileHandlers/json/WorkItems/PollValues.cs
Normal file
@ -0,0 +1,36 @@
|
||||
namespace Adaptation.FileHandlers.json.WorkItems;
|
||||
|
||||
public class PollValues
|
||||
{
|
||||
|
||||
#nullable enable
|
||||
|
||||
public PollValues(float? business,
|
||||
int businessCount,
|
||||
float? effort,
|
||||
int effortCount,
|
||||
float? risk,
|
||||
int riskCount,
|
||||
float? time,
|
||||
int timeCount)
|
||||
{
|
||||
Business = business;
|
||||
BusinessCount = businessCount;
|
||||
Effort = effort;
|
||||
EffortCount = effortCount;
|
||||
Risk = risk;
|
||||
RiskCount = riskCount;
|
||||
Time = time;
|
||||
TimeCount = timeCount;
|
||||
}
|
||||
|
||||
public float? Business { get; set; }
|
||||
public int? BusinessCount { get; set; }
|
||||
public float? Effort { get; set; }
|
||||
public int? EffortCount { get; set; }
|
||||
public float? Risk { get; set; }
|
||||
public int? RiskCount { get; set; }
|
||||
public float? Time { get; set; }
|
||||
public int? TimeCount { get; set; }
|
||||
|
||||
}
|
@ -7,15 +7,17 @@ public class Record
|
||||
|
||||
#nullable enable
|
||||
|
||||
public Record(WorkItem workItem, WorkItem? parent, ReadOnlyCollection<Record> children)
|
||||
public Record(WorkItem workItem, WorkItem? parent, ReadOnlyCollection<Record> children, PollValues? pollValues)
|
||||
{
|
||||
WorkItem = workItem;
|
||||
Parent = parent;
|
||||
Children = children;
|
||||
PollValues = pollValues;
|
||||
}
|
||||
|
||||
public WorkItem WorkItem { get; set; }
|
||||
public WorkItem? Parent { get; set; }
|
||||
public ReadOnlyCollection<Record> Children { get; set; }
|
||||
public PollValues? PollValues { get; set; }
|
||||
|
||||
}
|
Reference in New Issue
Block a user