From b97394b067b86e9d6755d518d56dae1a3cb7586a Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Tue, 27 Sep 2022 18:47:47 +0200 Subject: [PATCH] Aggiunta duplicazione articoli --- MP.SPEC/Components/ListODL.razor.cs | 4 -- MP.SPEC/Components/ListPODL.razor | 4 +- MP.SPEC/Components/ListPODL.razor.cs | 59 +++++++++++----------- MP.SPEC/Data/MpDataService.cs | 74 +++++++++++++++++----------- MP.SPEC/Pages/Articoli.razor | 3 +- MP.SPEC/Pages/Articoli.razor.cs | 19 +++++++ MP.SPEC/Pages/PODL.razor | 2 +- MP.SPEC/Pages/PODL.razor.cs | 5 ++ 8 files changed, 103 insertions(+), 67 deletions(-) diff --git a/MP.SPEC/Components/ListODL.razor.cs b/MP.SPEC/Components/ListODL.razor.cs index 3acc8de4..13af41c6 100644 --- a/MP.SPEC/Components/ListODL.razor.cs +++ b/MP.SPEC/Components/ListODL.razor.cs @@ -133,10 +133,6 @@ namespace MP.SPEC.Components } private int totalCount { get; set; } = 0; - //{ - // get => MessageService.totalCount; - // set => MessageService.totalCount = value; - //} #endregion Private Properties diff --git a/MP.SPEC/Components/ListPODL.razor b/MP.SPEC/Components/ListPODL.razor index f1112783..cb4fdeb6 100644 --- a/MP.SPEC/Components/ListPODL.razor +++ b/MP.SPEC/Components/ListPODL.razor @@ -33,8 +33,8 @@ else { - - + + @record.CodArticolo diff --git a/MP.SPEC/Components/ListPODL.razor.cs b/MP.SPEC/Components/ListPODL.razor.cs index e38b9316..08e811b7 100644 --- a/MP.SPEC/Components/ListPODL.razor.cs +++ b/MP.SPEC/Components/ListPODL.razor.cs @@ -15,6 +15,9 @@ namespace MP.SPEC.Components [Parameter] public EventCallback RecordSel { get; set; } + [Parameter] + public EventCallback updateRecordCount { get; set; } + #endregion Public Properties #region Public Methods @@ -51,6 +54,31 @@ namespace MP.SPEC.Components #region Protected Methods + protected async Task cloneRecord(PODLModel selRec) + { + // creo record duplicato... + PODLModel newRec = new PODLModel() + { + Attivabile = selRec.Attivabile, + CodArticolo = selRec.CodArticolo, + CodCli = selRec.CodCli, + CodGruppo = selRec.CodGruppo, + DueDate = selRec.DueDate, + IdxMacchina = selRec.IdxMacchina, + IdxOdl = selRec.IdxOdl, + IdxPromessa = 0, + InsertDate = selRec.InsertDate, + KeyBCode = selRec.KeyBCode, + KeyRichiesta = selRec.KeyRichiesta, + Note = $"DUPLICATED - {selRec.Note}", + NumPezzi = selRec.NumPezzi, + Priorita = selRec.Priorita, + PzPallet = selRec.PzPallet, + Tcassegnato = selRec.Tcassegnato + }; + await RecordSel.InvokeAsync(newRec); + } + /// /// Eliminazione record selezionato (previa conferma) /// @@ -105,30 +133,6 @@ namespace MP.SPEC.Components { await RecordSel.InvokeAsync(selRec); } - protected async Task cloneRecord(PODLModel selRec) - { - // creo record duplicato... - PODLModel newRec = new PODLModel() - { - Attivabile = selRec.Attivabile, - CodArticolo = selRec.CodArticolo, - CodCli = selRec.CodCli, - CodGruppo = selRec.CodGruppo, - DueDate = selRec.DueDate, - IdxMacchina = selRec.IdxMacchina, - IdxOdl = selRec.IdxOdl, - IdxPromessa = 0, - InsertDate = selRec.InsertDate, - KeyBCode = selRec.KeyBCode, - KeyRichiesta = selRec.KeyRichiesta, - Note = selRec.Note, - NumPezzi = selRec.NumPezzi, - Priorita = selRec.Priorita, - PzPallet = selRec.PzPallet, - Tcassegnato = selRec.Tcassegnato - }; - await RecordSel.InvokeAsync(newRec); - } protected async Task UpdateData() { @@ -176,11 +180,7 @@ namespace MP.SPEC.Components set => MsgService.StateSel = value; } - private int totalCount - { - get => MsgService.totalCount; - set => MsgService.totalCount = value; - } + private int totalCount { get; set; } = 0; #endregion Private Properties @@ -210,6 +210,7 @@ namespace MP.SPEC.Components ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); await Task.Delay(1); await InvokeAsync(() => StateHasChanged()); + await updateRecordCount.InvokeAsync(totalCount); isLoading = false; } diff --git a/MP.SPEC/Data/MpDataService.cs b/MP.SPEC/Data/MpDataService.cs index ab2d312b..2c9116a5 100644 --- a/MP.SPEC/Data/MpDataService.cs +++ b/MP.SPEC/Data/MpDataService.cs @@ -368,7 +368,7 @@ namespace MP.SPEC.Data redisDb.StringSet(currKey, "", TimeSpan.FromSeconds(1)); return answ; } - + /// /// Effettua salvataggio snapshot parametri (con stored) + svuota eventuale cache redis /// @@ -421,35 +421,6 @@ namespace MP.SPEC.Data return answ; } - /// - /// Esegue flush memoria redis dato pattern - /// - /// - /// - private async Task ExecFlushRedisPattern(RedisValue pattern) - { - bool answ = false; - var listEndpoints = redisConnAdmin.GetEndPoints(); - foreach (var endPoint in listEndpoints) - { - //var server = redisConnAdmin.GetServer(listEndpoints[0]); - var server = redisConnAdmin.GetServer(endPoint); - if (server != null) - { - var keyList = server.Keys(redisDb.Database, pattern); - foreach (var item in keyList) - { - await redisDb.KeyDeleteAsync(item); - } - // brutalmente rimuovo intero contenuto DB... DANGER - //await server.FlushDatabaseAsync(); - answ = true; - } - } - - return answ; - } - /// /// Elenco ultimi n record flux log dato macchina e flusso (ordinato x data registrazione) /// @@ -670,15 +641,25 @@ namespace MP.SPEC.Data #region Private Fields private const string redisBaseAddr = "MP:"; + private const string redisConfKey = redisBaseAddr + "SPEC:Cache:Config"; + private const string redisDossByMac = redisBaseAddr + "SPEC:Cache:DossByMac"; + private const string redisFluxByMac = redisBaseAddr + "SPEC:Cache:FluxByMac"; + private const string redisMacByFlux = redisBaseAddr + "SPEC:Cache:MacByFlux"; + private const string redisMacList = redisBaseAddr + "SPEC:Cache:MacList"; + private const string redisStatoCom = redisBaseAddr + "SPEC:Cache:StatoCom"; + private const string redisTipoArt = redisBaseAddr + "SPEC:Cache:TipoArt"; + private static IConfiguration _configuration = null!; + private static ILogger _logger = null!; + private static Logger Log = LogManager.GetCurrentClassLogger(); /// @@ -699,5 +680,38 @@ namespace MP.SPEC.Data private int redisLongTimeCache = 5; #endregion Private Fields + + #region Private Methods + + /// + /// Esegue flush memoria redis dato pattern + /// + /// + /// + private async Task ExecFlushRedisPattern(RedisValue pattern) + { + bool answ = false; + var listEndpoints = redisConnAdmin.GetEndPoints(); + foreach (var endPoint in listEndpoints) + { + //var server = redisConnAdmin.GetServer(listEndpoints[0]); + var server = redisConnAdmin.GetServer(endPoint); + if (server != null) + { + var keyList = server.Keys(redisDb.Database, pattern); + foreach (var item in keyList) + { + await redisDb.KeyDeleteAsync(item); + } + // brutalmente rimuovo intero contenuto DB... DANGER + //await server.FlushDatabaseAsync(); + answ = true; + } + } + + return answ; + } + + #endregion Private Methods } } \ No newline at end of file diff --git a/MP.SPEC/Pages/Articoli.razor b/MP.SPEC/Pages/Articoli.razor index 8e161a2b..2cc76697 100644 --- a/MP.SPEC/Pages/Articoli.razor +++ b/MP.SPEC/Pages/Articoli.razor @@ -135,7 +135,8 @@ { - + +
@record.CodArticolo
diff --git a/MP.SPEC/Pages/Articoli.razor.cs b/MP.SPEC/Pages/Articoli.razor.cs index 2dabf683..577db802 100644 --- a/MP.SPEC/Pages/Articoli.razor.cs +++ b/MP.SPEC/Pages/Articoli.razor.cs @@ -136,6 +136,10 @@ namespace MP.SPEC.Pages } ListAziende = await MDService.ElencoAziende(); ListTipoArt = await MDService.AnagTipoArtLV(); + } + + protected override async Task OnParametersSetAsync() + { await reloadData(); } @@ -155,6 +159,21 @@ namespace MP.SPEC.Pages currRecord = selRec; await Task.Delay(1); } + protected async Task cloneRecord(AnagArticoli selRec) + { + // creo record duplicato... + AnagArticoli newRec = new AnagArticoli() + { + Azienda = selRec.Azienda, + CodArticolo = selRec.CodArticolo, + DescArticolo = $"CLONE - { selRec.DescArticolo }", + Disegno = selRec.Disegno, + Tipo=selRec.Tipo + }; + currRecord = newRec; + await Task.Delay(1); + } + protected async Task update(AnagArticoli selRec) { diff --git a/MP.SPEC/Pages/PODL.razor b/MP.SPEC/Pages/PODL.razor index 8f185474..f739d21a 100644 --- a/MP.SPEC/Pages/PODL.razor +++ b/MP.SPEC/Pages/PODL.razor @@ -210,7 +210,7 @@ } else { - + }