From 59d6bc120591ea18fa0fac3580eef665ecfc18e6 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 12 May 2023 15:07:02 +0200 Subject: [PATCH] Fix check errori presenti --- .../Services/QueueDataService.cs | 44 +++++++++++++ .../Pages/DoorDefinition.razor.cs | 11 ++-- WebDoorCreator.UI/temp/Conf.yaml | 66 +++++++++++++------ 3 files changed, 97 insertions(+), 24 deletions(-) diff --git a/WebDoorCreator.Data/Services/QueueDataService.cs b/WebDoorCreator.Data/Services/QueueDataService.cs index 1ce4c7c..2a26dc0 100644 --- a/WebDoorCreator.Data/Services/QueueDataService.cs +++ b/WebDoorCreator.Data/Services/QueueDataService.cs @@ -63,6 +63,25 @@ namespace WebDoorCreator.Data.Services redisConn.Dispose(); } + /// + /// Restitusice gli errori della porta in oggetto + /// + /// formato DoorId:Versione + /// + public async Task DoorErrExists(string doorIdVers) + { + bool hasErr = false; + // cerco versione errore x la porta... + var doorData = doorIdVers.Split(":"); + if (doorData.Length == 2) + { + RedisKey currErrKey = new RedisKey($"{Constants.CALC_REQ_ERRS}"); + int currId = await RedHashGet(currErrKey, doorData[0]); + hasErr = doorData[1] == $"{currId}"; + } + return hasErr; + } + /// /// Restitusice gli errori della porta in oggetto /// @@ -188,6 +207,31 @@ namespace WebDoorCreator.Data.Services Log.Trace($"RedHashRemove | {currKey} | in: {ts.TotalMilliseconds} ms"); return fatto; } + /// + /// Verify existence for single hash record + /// + /// Chiave redis della Hashlist + /// Chiave nella HashList + /// Esito rimozione + public async Task RedHashGet(RedisKey currKey, string chiave) + { + int result = 0; + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + var hasVal = await redisDb.HashExistsAsync(currKey, chiave); + if (hasVal) + { + var rawRes = await redisDb.HashGetAsync(currKey, chiave); + if (rawRes.HasValue) + { + int.TryParse($"{rawRes}", out result); + } + } + stopWatch.Stop(); + TimeSpan ts = stopWatch.Elapsed; + Log.Trace($"RedHashGet | {currKey} | in: {ts.TotalMilliseconds} ms"); + return result; + } /// /// Get Queue request done diff --git a/WebDoorCreator.UI/Pages/DoorDefinition.razor.cs b/WebDoorCreator.UI/Pages/DoorDefinition.razor.cs index 90d3fab..78bceac 100644 --- a/WebDoorCreator.UI/Pages/DoorDefinition.razor.cs +++ b/WebDoorCreator.UI/Pages/DoorDefinition.razor.cs @@ -187,11 +187,12 @@ namespace WebDoorCreator.UI.Pages doorSvgVers = doorSvgVers.Replace(".", ":"); } // fix ./: - var tryGetErr = await QDataServ.DoorErrGet(doorSvgVers); - if (tryGetErr != null) + var hasErr = await QDataServ.DoorErrExists(doorSvgVers); + if (hasErr) { + var messErr = await QDataServ.DoorErrGet(doorSvgVers); IsErr = true; - ErrCode = tryGetErr; + ErrCode = messErr; } else { @@ -199,10 +200,10 @@ namespace WebDoorCreator.UI.Pages } //cerco su redis la porta in oggetto - + //if (string.IsNullOrEmpty(DoorSvgContent)) //{ - + //} await Task.Run(async () => await InvokeAsync(StateHasChanged)); diff --git a/WebDoorCreator.UI/temp/Conf.yaml b/WebDoorCreator.UI/temp/Conf.yaml index 3aa4c6b..94440db 100644 --- a/WebDoorCreator.UI/temp/Conf.yaml +++ b/WebDoorCreator.UI/temp/Conf.yaml @@ -15,9 +15,9 @@ order: date: 2023-12-05T00:00:00.0000000 piece: DO_1 size: - width: 50 - height: 50 - thickness: 1.75 + width: 30 + height: 100 + thickness: 2 swing: LHI secure: UP material: wood @@ -28,7 +28,7 @@ profiles: overmaterial: 0.1 hingeedge: type: SQ - machining: ON + machining: OFF overmaterial: 0.1 top: type: SQ @@ -36,26 +36,54 @@ profiles: overmaterial: 0.1 bottom: type: SQ - machining: ON + machining: OFF overmaterial: 0.1 hardware: - louver_cut_outs: + vision_cut_outs: + - shape: Generic\Circle + radius: 8.5 + center_from_top: 40 + center_from_lock: 0 + door_center: center + - shape: Generic\Circle + radius: 10 + center_from_top: 60 + center_from_lock: 0 + door_center: center - shape: Generic\Rect - length: 10.0000 - width: 18.8125 - bottom_rail: 8.0 - lock_stile: 0.0 + length: 10 + width: 16 + top_rail: 5.5 + lock_stile: 0 + radius: 0 door_center: center - face_decoration: - - template: General\Decor_C - type: lines - depth: 0.0625 - topdistance: 5.0 - bottomdistance: 7.0 - lockstiledistance: 4.0 - hingestiledistance: 4.0 - face: secure + hinges: + - template: Generic Conceiled\StdConHingeDeepR + ToptoCL: 10 + back_set: 0.125 + thickness: 0.25 + - template: Generic Conceiled\StdConHingeDeepR + ToptoCL: 50 + back_set: 0.125 + thickness: 0.25 + - template: Generic Conceiled\StdConHingeDeepR + ToptoCL: 80 + back_set: 0.125 + thickness: 0.25 + + flush_bolts: + - template: Corner\8501 + type: corner + side: top + position: 5 + offset_WS: 0.0 + + strikes: + - template: Generic\StdFaceStrike + position: 57.875 + back_set: 2.75 + offset_WS: 0.0 ---