using OI.Metrology.Shared.Models.Stateless; using System.Globalization; namespace OI.Metrology.Shared.Models; public record NginxFileSystemSortable(DateTime DateTime, Uri Uri, string Name, float Size, string Type) { public static List Convert(IFileShareRepository fileShareRepository, Uri waferSizeUri, NginxFileSystem[]? collection) { List results = new(); NginxFileSystemSortable nginxFileSystemSortable; string nginxFormat = "ddd, dd MMM yyyy HH:mm:ss zzz"; foreach (NginxFileSystem nginxFileSystem in collection ?? Array.Empty()) { if (DateTime.TryParseExact(nginxFileSystem.MTime.Replace("GMT", "+00:00"), nginxFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime dateTime)) nginxFileSystemSortable = new(dateTime, fileShareRepository.Append(waferSizeUri, nginxFileSystem.Name), nginxFileSystem.Name, nginxFileSystem.Size, nginxFileSystem.Type); else nginxFileSystemSortable = new(DateTime.MinValue, fileShareRepository.Append(waferSizeUri, nginxFileSystem.Name), nginxFileSystem.Name, nginxFileSystem.Size, nginxFileSystem.Type); results.Add(nginxFileSystemSortable); } return results; } }