From f8eadcf197e3a00a68b2e3667c36c45ee1db801a Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 11 May 2021 00:36:11 +0200 Subject: [PATCH] Ancora modifica editing DOCS --- SHERPA.BBM.UI/Data/BBM_EFService.cs | 11 +++++++++ SHERPA.BBM.UI/Pages/Docs.razor | 31 ++++++++++++++++++++----- SHERPA.BBM/Controllers/BBMController.cs | 17 ++++++++++---- SHERPA.BBM/DatabaseModels/DocModel.cs | 2 +- 4 files changed, 50 insertions(+), 11 deletions(-) diff --git a/SHERPA.BBM.UI/Data/BBM_EFService.cs b/SHERPA.BBM.UI/Data/BBM_EFService.cs index 1468766..401b855 100644 --- a/SHERPA.BBM.UI/Data/BBM_EFService.cs +++ b/SHERPA.BBM.UI/Data/BBM_EFService.cs @@ -132,6 +132,17 @@ namespace SHERPA.BBM.UI.Data } } + public void DocSetActive(DatabaseModels.DocsModel currItem) + { + try + { + dbController.DocSetActive(currItem); + } + catch + { + } + } + public void ItemAdd(DatabaseModels.ItemsModel newItem) { try diff --git a/SHERPA.BBM.UI/Pages/Docs.razor b/SHERPA.BBM.UI/Pages/Docs.razor index c4a9ce5..66f8dc3 100644 --- a/SHERPA.BBM.UI/Pages/Docs.razor +++ b/SHERPA.BBM.UI/Pages/Docs.razor @@ -77,7 +77,7 @@ @foreach (var record in itemsList) { -   +    @record.DocType @record.CodDoc @@ -125,7 +125,7 @@ int.TryParse(NegtIdReq, out NegotiationIdReq); _SelCodNegotiation = NegotiationIdReq; } - updateTable(); + updateTable().ConfigureAwait(false); } private int numRecord { get; set; } = 10; @@ -150,7 +150,7 @@ set { _SelBasketId = value; - updateTable(); + updateTable().ConfigureAwait(false); } } private int SelCodNegotiation @@ -162,7 +162,7 @@ set { _SelCodNegotiation = value; - updateTable(); + updateTable().ConfigureAwait(false); } } @@ -175,7 +175,7 @@ { basketList = await BBMService.BasketsGetAsync(0); negotiationList = await BBMService.NegotiationsGetAsync(0); - updateTable(); + await updateTable(); } protected override async Task OnInitializedAsync() @@ -219,15 +219,34 @@ currItem = newRecord; } + protected void NewRelease(DatabaseModels.DocsModel currRecord) + { + // recupero counter + string newCode = BBMService.CounterGetNext($"EGW.D.{DateTime.Today.Year}"); + DatabaseModels.DocsModel newRecord = new DatabaseModels.DocsModel() + { + CodDoc = newCode, + DataIns = DateTime.Now, + NegotiationId = currRecord.NegotiationId, + BasketId = currRecord.BasketId, + DocPath = currRecord.DocPath, + NumDoc = currRecord.NumDoc + 1, + DocType = currRecord.DocType, + Descript = "COPIA di " + currRecord.Descript + }; + currItem = newRecord; + } + protected void Edit(SHERPA.BBM.DatabaseModels.DocsModel currRecord) { currItem = currRecord; } - protected void SetActive(SHERPA.BBM.DatabaseModels.DocsModel currRecord) + protected async Task SetActive(SHERPA.BBM.DatabaseModels.DocsModel currRecord) { // imposto ad attivo SOLO il DOC corrente tra quelli della negoziazione BBMService.DocSetActive(currRecord); + await UpdateData(); } protected void ShowResources(SHERPA.BBM.DatabaseModels.DocsModel currRecord) diff --git a/SHERPA.BBM/Controllers/BBMController.cs b/SHERPA.BBM/Controllers/BBMController.cs index 3ff1726..6126565 100644 --- a/SHERPA.BBM/Controllers/BBMController.cs +++ b/SHERPA.BBM/Controllers/BBMController.cs @@ -323,12 +323,13 @@ namespace SHERPA.BBM.Controllers bool done = false; try { + // attivo record corrente var currData = dbCtx - .DbSetDocs + .DbSetDocs .Where(x => x.DocId == updItem.DocId) - .FirstOrDefault() - .IsActive=true; - + .FirstOrDefault(); + currData.IsActive=true; + // altri record da disattivare var otherData = dbCtx .DbSetDocs .Where(x => x.NegotiationId == updItem.NegotiationId && x.DocId != updItem.DocId) @@ -336,8 +337,16 @@ namespace SHERPA.BBM.Controllers foreach (var item in otherData) { item.IsActive = false; + } dbCtx.SaveChanges(); + // rileggo + dbCtx.Entry(currData).Reload(); + // anche altri valori + foreach (var item in otherData) + { + dbCtx.Entry(item).Reload(); + } done = true; } catch diff --git a/SHERPA.BBM/DatabaseModels/DocModel.cs b/SHERPA.BBM/DatabaseModels/DocModel.cs index 8c16e14..990378e 100644 --- a/SHERPA.BBM/DatabaseModels/DocModel.cs +++ b/SHERPA.BBM/DatabaseModels/DocModel.cs @@ -39,7 +39,7 @@ namespace SHERPA.BBM.DatabaseModels public BbmDocType DocType { get; set; } = BbmDocType.Quote; [Column("IsActive", Order = 9)] - public bool IsActive { get; set; } = true; + public bool IsActive { get; set; } = false; [ForeignKey("NegotiationId")] public virtual NegotiationsModel Negotiation { get; set; }