< Summary

Information
Class: Services.ParserServices.FileProcessing.FilePreviewResult
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ParserServices/FileProcessing/IFileProcessingService.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 52
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_HasRequiredColumns()100%11100%
get_ErrorMessage()100%11100%
get_OrderNumberColumn()100%11100%
get_ArticleColumn()100%11100%
get_SelectedDateColumn()100%11100%
get_DateColumns()100%11100%
get_TotalRows()100%11100%
get_RowsWithRequiredColumns()100%11100%
get_PreviewHeaders()100%11100%
get_PreviewRows()100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ParserServices/FileProcessing/IFileProcessingService.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Http;
 2
 3namespace Services.ParserServices.FileProcessing;
 4
 5public sealed class FileDatePreviewGroup
 6{
 7    public required string Value { get; set; }
 8    public required string Label { get; set; }
 9    public required int Count { get; set; }
 10}
 11
 12public sealed class FileDateColumnPreview
 13{
 14    public required string Name { get; set; }
 15    public required bool IsPreferred { get; set; }
 16    public required bool IsDateType { get; set; }
 17    public required List<FileDatePreviewGroup> Groups { get; set; }
 18}
 19
 20public sealed class FilePreviewTableRow
 21{
 22    public string? DateKey { get; set; }
 23    public required bool HasRequiredValues { get; set; }
 24    public string? OrderNumber { get; set; }
 25    public string? Article { get; set; }
 26    public required List<string> Values { get; set; }
 27}
 28
 29public sealed class FilePreviewResult
 30{
 2331    public required bool HasRequiredColumns { get; set; }
 2132    public string? ErrorMessage { get; set; }
 2133    public string? OrderNumberColumn { get; set; }
 2034    public string? ArticleColumn { get; set; }
 1835    public string? SelectedDateColumn { get; set; }
 3236    public required List<FileDateColumnPreview> DateColumns { get; set; }
 1937    public required int TotalRows { get; set; }
 1938    public required int RowsWithRequiredColumns { get; set; }
 1639    public required List<string> PreviewHeaders { get; set; }
 3040    public required List<FilePreviewTableRow> PreviewRows { get; set; }
 41}
 42
 43public interface IFileProcessingService
 44{
 45    Task<List<(string OrderNumber, string Article)>> ProcessExcelFileAsync(IFormFile file);
 46    Task<List<(string OrderNumber, string Article)>> ProcessCsvFileAsync(IFormFile file);
 47    Task<List<(string OrderNumber, string Article)>> ProcessFileAsync(IFormFile file);
 48    Task<List<(string OrderNumber, string Article)>> ProcessFileAsync(IFormFile file, string? dateColumnName, IReadOnlyC
 49    Task<FilePreviewResult> BuildPreviewAsync(IFormFile file, string preferredDateColumnName);
 50    Task<FilePreviewResult> BuildPreviewShipmentOnlyAsync(IFormFile file, string preferredDateColumnName);
 51    Task<List<string>> ProcessShipmentOnlyAsync(IFormFile file, string? dateColumnName, IReadOnlyCollection<string>? sel
 52}