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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user