VSERVERWS/Pages/Puce.cshtml.cs

73 lines
1.2 KiB
C#

using System.IO;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using CVRLIB.Inventory;
namespace VSERVERWS.Pages;
public class PuceModel : PageModel {
private readonly ILogger<PrivacyModel> _logger;
public Dictionary<string, CVINVENTORY> PuceCVINV = new Dictionary<string, CVINVENTORY>();
public PuceModel(ILogger<PrivacyModel> logger) {
_logger = logger;
}
public async Task OnGet() {
var tCVINV = await PuceListINV();
PuceCVINV = tCVINV.ParseByCodePrefix();
}
public async Task<CVINVENTORY> PuceListINV() {
CVINVENTORY rCVI;
var PCODES = new SortedSet<string>();
var pcodefiles = Directory.GetFiles(Program.AppData + @"\Puce", "*.csv");
foreach ( var filepath in pcodefiles ) {
var LINES = await System.IO.File.ReadAllLinesAsync(filepath);
foreach (var line in LINES) {
if (string.IsNullOrWhiteSpace(line)) continue;
string PCODE = line.Split(',')[0].Trim(['"']);
PCODES.Add(PCODE);
}
}
rCVI = await CVINVENTORY.LoadItemsAsync(PCODES);
rCVI.RemoveZeroQTY();
return rCVI;
}
}