21 lines
867 B
C#
21 lines
867 B
C#
using Barcode.Host.Shared.Models;
|
|
using Barcode.Host.Shared.Models.Stateless;
|
|
using System.Globalization;
|
|
|
|
namespace Barcode.Host.Server.Services;
|
|
|
|
public class FileService : IFileService
|
|
{
|
|
|
|
void IFileService.Write(string equipmentName, string fileShare, Calendar? calendar, Notification notification)
|
|
{
|
|
DateTime dateTime = DateTime.Now;
|
|
calendar ??= new CultureInfo("en-US").Calendar;
|
|
string weekOfYear = $"{dateTime:yyyy}_Week_{calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Sunday):00}";
|
|
string directory = Path.Combine(fileShare, weekOfYear, dateTime.ToString("yyyy-MM-dd_HH"));
|
|
if (!Directory.Exists(directory))
|
|
_ = Directory.CreateDirectory(directory);
|
|
File.WriteAllText(Path.Combine(directory, $"{equipmentName}.csv"), notification.LastScanServiceResultValue);
|
|
}
|
|
|
|
} |