From b723109f4e48c6ebedd50fc7a787f4d3474e55e4 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 19 Jun 2024 18:29:18 +0200 Subject: [PATCH] update gestione dizionario (da completare) --- .../Services/WebDoorCreatorService.cs | 76 ++++++++----------- 1 file changed, 32 insertions(+), 44 deletions(-) diff --git a/WebDoorCreator.Data/Services/WebDoorCreatorService.cs b/WebDoorCreator.Data/Services/WebDoorCreatorService.cs index 4e2fd44..3e499d9 100644 --- a/WebDoorCreator.Data/Services/WebDoorCreatorService.cs +++ b/WebDoorCreator.Data/Services/WebDoorCreatorService.cs @@ -159,36 +159,14 @@ namespace WebDoorCreator.Data.Services { await Task.Delay(1); int numMissing = 0; - ///dizionario componenti - directory - Dictionary DictCompoDir = new Dictionary(); // ciclo x tutti gli oggetti "FOLDER" della tabella try { Stopwatch sw = new Stopwatch(); sw.Start(); - // in primis cerco le directory fisiche e la loro rappresentazione come nome componente... - string[] hwDirectories = Directory.GetDirectories(defaultPath); - foreach (var hw in hwDirectories) - { - string[] iniFiles = Directory.GetFiles(hw, "Config.ini"); - if (iniFiles != null && iniFiles.Length > 0) - { - List lines = File.ReadAllLines(iniFiles[0]).ToList(); - IniFile fIni = new IniFile(iniFiles[0]); - - var compoName = fIni.ReadString("Compo", "Name", "COMPONAME"); - string compoCode = compoName.Split("/")[0].Trim(); - - // aggiungo al dizionari - if (!DictCompoDir.ContainsKey(compoName)) - { - DictCompoDir.Add(compoName, hw); - } - } - } - - //var listFolder = await ListValuesGetAll("*", "Folder"); + // recupero dizionario componenti - directory + Dictionary DictCompoDir = getCompoDict(defaultPath); var listTemplate = await ListValuesGetAll("*", "template"); if (listTemplate != null && listTemplate.Count > 0) { @@ -217,6 +195,34 @@ namespace WebDoorCreator.Data.Services Log.Error($"Exception during CompoCountMissing: {exc}{Environment.NewLine}"); } return numMissing; + + } + protected Dictionary getCompoDict(string defaultPath) + { + ///dizionario componenti - directory + Dictionary DictCompoDir = new Dictionary(); + // in primis cerco le directory fisiche e la loro rappresentazione come nome componente... + string[] hwDirectories = Directory.GetDirectories(defaultPath); + foreach (var hw in hwDirectories) + { + string[] iniFiles = Directory.GetFiles(hw, "Config.ini"); + if (iniFiles != null && iniFiles.Length > 0) + { + List lines = File.ReadAllLines(iniFiles[0]).ToList(); + IniFile fIni = new IniFile(iniFiles[0]); + + var compoName = fIni.ReadString("Compo", "Name", "COMPONAME"); + string compoCode = compoName.Split("/")[0].Trim(); + + // aggiungo al dizionari + if (!DictCompoDir.ContainsKey(compoCode)) + { + DictCompoDir.Add(compoCode, hw); + } + } + } + + return DictCompoDir; } /// @@ -237,26 +243,8 @@ namespace WebDoorCreator.Data.Services Stopwatch sw = new Stopwatch(); sw.Start(); - // in primis cerco le directory fisiche e la loro rappresentazione come nome componente... - string[] hwDirectories = Directory.GetDirectories(defaultPath); - foreach (var hw in hwDirectories) - { - string[] iniFiles = Directory.GetFiles(hw, "Config.ini"); - if (iniFiles != null && iniFiles.Length > 0) - { - List lines = File.ReadAllLines(iniFiles[0]).ToList(); - IniFile fIni = new IniFile(iniFiles[0]); - - var compoName = fIni.ReadString("Compo", "Name", "COMPONAME"); - string compoCode = compoName.Split("/")[0].Trim(); - - // aggiungo al dizionari - if (!DictCompoDir.ContainsKey(compoName)) - { - DictCompoDir.Add(compoName, hw); - } - } - } + // recupero dizionario componenti - directory + Dictionary DictCompoDir = getCompoDict(defaultPath); //var listFolder = await ListValuesGetAll("*", "Folder"); var listTemplate = await ListValuesGetAll("*", "template");